对标题感到抱歉。我实际上很难弄清楚如何对这个问题进行说法,这就是为什么我不能谷歌它。
我希望使用变量作为列标题从R中的数据框中获取信息。
test = data.frame(season=c('winter','summer'), temp=c('cold','hot'))
what.season = 'winter'
test$what.season
第三行显然不起作用,但我试图传递的是what.season的值,以便它读取测试$ winter并返回' cold'
为未来的读者编辑:我累了,我说错了,但正确的答案得到了我想做的事。
答案 0 :(得分:1)
我将如何做到这一点
test[test$season == "winter", ]$temp
最后的$
运算符选择感兴趣的列,而逻辑运算符==
选择感兴趣的行
答案 1 :(得分:1)
您还可以使用subset
功能
> subset(test, season==what.season, select=temp)
temp
1 cold
答案 2 :(得分:1)
您可以使用%in%
命令
test$temp[test$season%in%what.season]
在test$season%in%what.season
列的所有行中搜索test$season
(冬季)的值后, what.season
会给出逻辑输出。然后,您可以使用逻辑输出来过滤列test$temp
中的值。
答案 3 :(得分:1)
最短的方式(我知道)将是test[test$season==what.season, 'temp']
。