我有两个数据集 - 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))
但没有工作。
答案 0 :(得分:1)
你可以这样做:
exavg <- testdata[testdata$State %in% ex$State, "Average"]
观察:
括号更适合分组数据帧;
%in%
的结果与 left 输入的长度相同,因此您必须将testdata
列放在左侧,以避免长度不匹配;
使用$
时,您只能通过未加引号名称引用列,如ex$State
中所示,否则您必须将名称作为字符串传递。