在R中,如何将列表元素用作因子名称?

在R中,如何将列表元素用作因子名称?,r,R,我有一个列表,例如mylist=c(“a”、“B”、“c”),我希望使用列表元素来提取R中数据帧的因子 如果MyDataFrame有一个列名“a”,我可以将列/因子提取为MyDataFrame$a MyDataFrame$mylist[1] 失败了。起初我认为这是因为mycolumn[3]是“A”,而我需要$A而不带引号。然而,使用 MyDataFrame$as.name(mylist[1]) 也会失败,可能是因为R将字符串作为.name(mylist[1])查找,而不是处理函数(它给出

我有一个列表,例如mylist=c(“a”、“B”、“c”),我希望使用列表元素来提取R中数据帧的因子

如果MyDataFrame有一个列名“a”,我可以将列/因子提取为MyDataFrame$a

MyDataFrame$mylist[1] 
失败了。起初我认为这是因为mycolumn[3]是“A”,而我需要$A而不带引号。然而,使用

MyDataFrame$as.name(mylist[1]) 
也会失败,可能是因为R将字符串作为.name(mylist[1])查找,而不是处理函数(它给出的错误是“尝试应用非函数”)。设置x=as.name(mylist[1]),然后使用MyDataFrame$x会遇到与x不被视为变量相同的问题


有没有一种简单的方法可以做到这一点,因为我需要循环一长串的列名来调用感兴趣的因素。

试试这个:而不是
$

MyDataFrame[,mylist[1]]

试试这个:而不是
$

MyDataFrame[,mylist[1]]

谢谢,我没有意识到可以在括号内使用因子名称,而不仅仅是数字索引。此链接解释了它~希望它能有所帮助。谢谢,我没有意识到可以在括号内使用因子名称,而不仅仅是数字索引。此链接解释了它~希望它能有所帮助