在 R 中操作向量和数据帧
Manipulate Vector and Data Frame in R
list1=c(1,6,3,4,4,5)
data=data.frame("colA" = c(1:6),
"colB"=c(4,3,1,8,9,8))
我有 'list1' 和 'data'
我希望使用 'colA' 作为键将 'colB' 中的值与 list1 中的值匹配,所以它看起来像
也许,我们需要match
data.frame(list1, colB = data$colB[match(list1, data$colA)])
# list1 colB
#1 1 4
#2 6 8
#3 3 1
#4 4 8
#5 4 8
#6 5 9
您也可以使用 merge
,这是您的标签之一。
merge(data.frame(list1=list1), data, by.x=c("list1"), by.y="colA")
list1 colB
1 1 4
2 3 1
3 4 8
4 4 8
5 5 9
6 6 8
或者如果您不关心列名:
merge(data.frame(colA=list1), data)
colA colB
1 1 4
2 3 1
3 4 8
4 4 8
5 5 9
6 6 8
list1=c(1,6,3,4,4,5)
data=data.frame("colA" = c(1:6),
"colB"=c(4,3,1,8,9,8))
我有 'list1' 和 'data'
我希望使用 'colA' 作为键将 'colB' 中的值与 list1 中的值匹配,所以它看起来像
也许,我们需要match
data.frame(list1, colB = data$colB[match(list1, data$colA)])
# list1 colB
#1 1 4
#2 6 8
#3 3 1
#4 4 8
#5 4 8
#6 5 9
您也可以使用 merge
,这是您的标签之一。
merge(data.frame(list1=list1), data, by.x=c("list1"), by.y="colA")
list1 colB
1 1 4
2 3 1
3 4 8
4 4 8
5 5 9
6 6 8
或者如果您不关心列名:
merge(data.frame(colA=list1), data)
colA colB
1 1 4
2 3 1
3 4 8
4 4 8
5 5 9
6 6 8