我有一个数据框,我需要子集。 示例dataFrame -
x y z p q
US 23 boy 34 45.6
EU 45 girl 27 24.67
US 23 boy 36 75.6
EU 45 girl 26 74.67
我知道可以通过 -
来完成subset(dataFrame, x == 'US')
现在,我有一个用例,我有一个要在dataFrame上应用的组合列表。 dataFrame包含5列 - x,y,z,p,q 组合作为dataFrame - 1. x = US,y = 23,z = boy 2. x = EU,y = 34,z =女孩
现在,这些组合可以是任意数字,类似地,我们可以拥有更大的数据集。 所以,我试图做的 - 示例数据集 -
x y z
US 23 boy
EU 45 girl
combo是我的数据框架组合。
comboNames = names(combo)
subset(dataFrames, comboName[1] == lapply(combo[,1], as.character)[[1]])
这给了我0个结果。 但是,如果我这样做 -
subset(dataFrames, x == lapply(combo[,1], as.character)[[1]])
有效。 是否可以将此键x表示为变量以提取数据。 希望我能够很好地解释我的问题。在此先感谢所有的帮助。
答案 0 :(得分:0)
comboName仅包含名称(不引用数据框)。所以你从comboName [1]得到的“x”在你的第二种方法中没有像x那样被引用。 这应该有效:
subset(dataframes, get(comboNames[1]) == lapply(combo[,1], as.character)[[1]])
我希望这就是你要找的......
干杯