从R中的较大数据集中减去子集

时间:2018-06-25 20:32:18

标签: r

大家好:我有两个变量。第一个标题为WITHOUT_VERANDAS。这是一个城市列表,按没有阳台(大约有200行)的房屋的平均租金价格汇总:

City        Price

1 Appleton    5000
2 Ames        9000
3 Lodi        1020
4 Milwaukee   2010
5 Barstow     2000
6 Chicago     2320
7 Champaign   2000  

第二个变量的标题为WITH_VERANDAS。这是一个城市列表,按带有阳台的房屋的平均租金价格汇总(大约有10行,这是以前数据集的子集,因为并非每个城市都有带有阳台的出租物业):

City          Price

1 Milwaukee   3000
2 Chicago     2050
3 Lodi        5000

对于WITH_VERANDAS列表中的每个城市,我想从第一个列表中减去该城市的WITHOUT_VERANDAS城市值。我想看看哪个城市的差异最高或最低。本质上,结果应仅包含WITH_VERANDAS数据。

我已经尝试过了:

difference <- WITH_VERANDAS$Price-WITHOUT_VERANDAS$Price
View(difference)

但是,它返回的行数与WITHOUT_VERANDAS数据集一样多。我也收到一个错误:

   longer object length is not a multiple of shorter object length

结果只是从WITH_VERANDA的第1行中减去WITHOUT_VERANDAS的第1行,如结果所示:(例如,输出的第1行将是Milwaukee-Appleton的值,第2行的输出将是Chicago-Ames,等等)

 1.  -2000
 2.  -6950

如果我只能过滤WITHOUT_VERANDAS以仅包括WITH_VERANDAS中包含的城市,我认为它会起作用。谢谢!

1 个答案:

答案 0 :(得分:1)

R2evans,谢谢!这很好。现在,我有:

  City          Price.x       Price.y

  1  Appleton   NA            5000
  2  Ames       NA            9000
  3  Lodi       5000          1020
  4  Milwaukee  3000          2010

我将如何过滤此列表以取出Price.x为“ NA”的任何行?即所有不匹配的行。再次感谢!