作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想合并 2 个 df,其中 df1 包含 2 列和 df2 1 列,在这种情况下如何应用函数合并?
这是示例案例:
df1 <- data.frame(var1=letters[1:5],var2=letters[6:10])
df2 <- data.frame(var3=letters[1:10])
merge(df1,df2,by.x=c("var1","var2"),by.y="var3",all.y=TRUE)
var1 var2 var3
1 a f a
2 b g b
3 c h c
4 d i d
5 e j e
6 <NA> <NA> f
7 <NA> <NA> g
8 <NA> <NA> h
9 <NA> <NA> i
10 <NA> <NA> j
df1 <- data.frame(var1=c(letters[1:5],rep("x",5)),var2=c(letters[6:10],rep("x",5)))
df2 <- data.frame(var3=letters[1:10])
var1 var2 var3
1 a f a
2 b g b
3 c h c
4 d i d
5 e j e
6 x x f
7 x x g
8 x x h
9 x x i
10 x x j
最佳答案
这是一个可能的 data.table
根据第一个所需输出的解决方案
library(data.table)
setkey(setDT(df2), var3)
df2[df1, `:=`(var1 = i.var1, var2 = i.var2)][]
# var3 var1 var2
# 1: a a f
# 2: b b g
# 3: c c h
# 4: d d i
# 5: e e j
# 6: f NA NA
# 7: g NA NA
# 8: h NA NA
# 9: i NA NA
# 10: j NA NA
关于r - 如何在 1 列上合并 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28677069/
我是一名优秀的程序员,十分优秀!