-3

我有两个数据集 - testdata(744 条记录),状态和平均值为两列,extractdata(19 条记录)和 RI 中的状态列想要从 testdata 中为提取数据的状态列中存在的所有状态选择“平均列”。请建议一个 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))

但没有用。

4

1 回答 1

1

你可以这样做:

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

请注意:

  1. 括号更适合于对数据框进行子集化;

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

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

于 2013-06-18T14:14:09.757 回答