假设我有以下两个数据框:
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
答案 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 []