R - 不能使用第二个数据帧中的相同列来访问数据帧列

时间:2015-07-17 11:53:07

标签: r string

假设我有以下两个数据框:

a <- data.frame(1:4, c("one", "two", "three", "four"))
b <- data.frame(1:4, c(4, 6, 7, 9), 4:7, c(9, 10, 44, 45))

names(b) <- c("one", "two", "three", "four")
names(a) <- c("number", "group")

鉴于

a$"group"
# "one" "two" "three" "four"
b$"two"
# 4 6 7 9

为什么我无法访问b $&#34;两个&#34;像这样?

b$(a$"group"[2])
# NULL

1 个答案:

答案 0 :(得分:2)

由于要素级别的顺序(a$group是一个因素),我会将a$group转换为字符向量

a$group <- as.character(a$group)

然后是以下作品:

b[, a$group[2]]
b[[a$group[2]]]
b[[a[["group"]][2]]]

因此,诀窍是通过parantheses []

索引列