楼主: 苏小驴驴
1150 3

[问答] #求助#R语言小白求助? [推广有奖]

  • 0关注
  • 0粉丝

初中生

71%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
259 点
帖子
8
精华
0
在线时间
16 小时
注册时间
2019-10-22
最后登录
2021-8-23

楼主
苏小驴驴 发表于 2020-5-6 19:40:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我现在有一个data.frame,假设叫data。假设里面有一列名为A,剩余还有很多列内容。另外我有一个向量名为B。
然后A和B中,部分数据是一样的,例如A是1-55的数字,B是1-55的奇数。

我想把data里面,A列中和B重复的数字的那些行给提取出来。程序应该怎么写?
简单的说就是提取data.frame中某些行,这些行的第一列和B相同。

excel是可以用countif来检查重复值,然后我可以筛选,但我很多表格,如果有程序会方便一些。
谢谢!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 COUNTIF Count Frame EXCEL

沙发
llb_321 在职认证  发表于 2020-5-6 21:19:30
用inner_join或left_join都可以实现,找函数说明,琢磨一下示例代码,你就明白了。

藤椅
tuxingwen 学生认证  发表于 2020-5-7 10:34:14
用which函数就可以实现,代码如下(第二行代码的data和A/B之间有个美元符号没显示,记得加上):
  1. > data <- data.frame(A=c(1:10),B=rep(c(1,3,5,7,9),each=2),C=letters[1:10]); data
  2.     A B C
  3. 1   1 1 a
  4. 2   2 1 b
  5. 3   3 3 c
  6. 4   4 3 d
  7. 5   5 5 e
  8. 6   6 5 f
  9. 7   7 7 g
  10. 8   8 7 h
  11. 9   9 9 i
  12. 10 10 9 j
  13. > data1 <- data[which(data$A==data$B),]; data1
  14.   A B C
  15. 1 1 1 a
  16. 3 3 3 c
  17. 5 5 5 e
  18. 7 7 7 g
  19. 9 9 9 i
复制代码


板凳
苏小驴驴 发表于 2020-5-7 10:59:58
后面我自己用了which函数解决了
data[which(data[,1]%in%B),]

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 17:24