【发布时间】:2014-09-05 14:16:36
【问题描述】:
我有一个数据框,我想提取特定列具有特定值的行。列名存储在字符数组中,值存储在列表中。
data <- data.frame(A=c("a","b","b"), B=c(1,2,2), C=(3,3,4))
column_key <- c("A", "B")
value_key <- list("b", 2)
显然,如果我硬编码键的列名,我可以通过简单的索引来提取我想要的信息:
desired_rows <- data[data$A=="b" & data$B==2,]
desired_rows =
A B C
2 b 2 3
3 b 2 4
但是如果列名存储在变量中,我该怎么做。理想情况下,应该是这样的:
key <- value_key
names(key) <- column_key
desired_rows <- data[key,]
但我无法用列表索引 data.frame。
【问题讨论】: