2210 0

[实际应用] R语言进行两个数据集的合并查找某一个数据的重复值情况、进行不同数据字符和数值匹配 [推广有奖]

  • 5关注
  • 8粉丝

已卖:376份资源

博士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
3141 个
通用积分
73.8548
学术水平
37 点
热心指数
36 点
信用等级
23 点
经验
33667 点
帖子
298
精华
0
在线时间
141 小时
注册时间
2012-11-23
最后登录
2022-9-18

楼主
奇渥温·沙加 发表于 2020-11-18 21:33:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

> x <- data.frame(k1 = c(2,3,4,5,7), k2 = c(1,NA,NA,4,5), data = 1:5)
> y <- data.frame(k1 = c(8,9,4,5,10,3,15,18), k2 = c(NA,NA,3,4,5,3,4,5), data = 1:8)
>
> ##两个数据框根据某一列或两列变量进行合并
> merge(x, y, by = c("k1","k2")) # NA's match
  k1 k2 data.x data.y
1  5  4      4      4
> merge(x, y, by = "k1") # NA's match, so 6 rows
  k1 k2.x data.x k2.y data.y
1  3   NA      2    3      6
2  4   NA      3    3      3
3  5    4      4    4      4
> merge(x, y, by = "k2", incomparables = NA) # 2 rows
  k2 k1.x data.x k1.y data.y
1  4    5      4    5      4
2  4    5      4   15      7
3  5    7      5   10      5
4  5    7      5   18      8
> ##查找向量重复值
> p <- c(3:5, 11:8, 8 + 0:5)
> p
[1]  3  4  5 11 10  9  8  8  9 10 11 12 13
> unique(p)
[1]  3  4  5 11 10  9  8 12 13
> duplicated(p,incomparables = T,margin=T)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE
> anyDuplicated(p)
[1] 8
> ###不同向量匹配
> match(x$k1,y$k1,nomatch = 0)
[1] 0 6 3 4 0
> x$k1%in%y$k1
[1] FALSE  TRUE  TRUE  TRUE FALSE
> ###字符串匹配
> z<-c("a","b","c","d","e","f")
> k<-c("e","f","g","t","b","u","r")
>
> charmatch(z,k)
[1] NA  5 NA NA  1  

二维码

扫码加我 拉你入群

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

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

关键词:R语言 重复值 数据集 comparables Comparable r语言 数据合并 数据匹配 数据重复值查询

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-5 08:17