经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+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
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|