如果在R +中使用%in%运算符,则提取列

时间:2013-06-18 13:09:03

标签: r subset

我有两个数据集 - testdata(744条记录),状态和平均值为两列,而提取数据(19条记录),状态列在RI中,希望从testdata中为状态列中存在的所有状态选择“平均列” ExtractData由。请建议一个R代码。谢谢 像这样的东西 -

testdata            extractdata

state  average      state
CA    2345.67       AB
LA     4587.90      AE
TX     8521.12      TN 
...so on            KL
                    ..so on 

我试过了 -

exavg=subset(testdata,(ex$State)%in%(testdata$State),select=c(Average))

但没有工作。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

exavg <- testdata[testdata$State %in% ex$State, "Average"]

观察:

  1. 括号更适合分组数据帧;

  2. %in%的结果与 left 输入的长度相同,因此您必须将testdata列放在左侧,以避免长度不匹配;

  3. 使用$时,您只能通过未加引号名称引用列,如ex$State中所示,否则您必须将名称作为字符串传递。