我有两个数据帧。原始的df1
Country Ccode Year Happiness Power
1 France FR 2000 1872 1213
2 France FR 2001 2345 1234
3 UK UK 2000 2234 1726
4 UK UK 2001 9082 6433
和df1vars
,其中仅包含带有几个列名的向量:
1 Country
2 Year
3 Happiness
我想从df1
中的df1vars
中选择列。当我反对我更好的判断时,尝试执行以下操作:
library(dplyr)
df2 <- select(df1, df1vars)
要获取输出:
Country Year Happiness
1 France 2000 1872
2 France 2001 2345
3 UK 2000 2234
4 UK 2001 9082
我收到消息:
Error: ``ES1varselect`` must evaluate to column positions or names, not a list
对于select语句的这方面是否有有效的解决方法?
答案 0 :(得分:0)
如果两者均为data.frame
,那么
df1[,c(df1vars$Colname)]
其中df1
是您在问题中提到的data.frame
,df1vars
是其他具有以下内容的data.frame
:
Colname
1 Country
2 Year
3 Happiness
最终输出:
Country Year Ccode
1 France 2000 FR
2 France 2001 FR
3 UK 2000 UK
4 UK 2001 UK