我正在处理住房数据集,并且我试图看看当房屋被出售时,彼此相邻的两个县的房屋是否被记录在彼此的销售中。
以下是我的数据示例:
阿拉米达县
date county city zip price
1 2003-04-27 Alameda County Pleasanton 94588 565000
2 2003-04-27 Alameda County Oakland 94618 387500
3 2003-04-27 Alameda County Dublin 94568 450000
4 2003-04-27 Alameda County Newark 94560 470000
5 2003-04-27 Alameda County Livermore 94550 1120000
6 2003-04-27 Alameda County Alameda 94501 526000
7 2003-04-27 Alameda County Fremont 94538 325000
8 2003-04-27 Alameda County Livermore 94550 930500
9 2003-04-27 Alameda County Hayward 94542 525000
10 2003-04-27 Alameda County Castro Valley 94546 610000
康特拉科斯塔县
date county city zip price
1 2003-04-27 Contra Costa County El Sobrante 94803 325000
2 2003-04-27 Contra Costa County Concord 94519 347000
3 2003-04-27 Contra Costa County Concord 94521 366000
4 2003-04-27 Contra Costa County Walnut Creek 94598 495000
5 2003-04-27 Contra Costa county Concord 94519 370000
6 2003-04-27 Contra Costa County Concord 94520 219000
7 2003-04-27 Contra Costa County Antioch 94531 387000
8 2003-04-27 Contra Costa county Clayton 94517 522000
9 2003-04-27 Contra Costa County Antioch 94531 406500
10 2003-04-27 Contra Costa County Antioch 94509 345000
我正在考虑使用dplyr和过滤器动词,但我认为这需要一个大的逻辑表达式。如何检查两个数据框是否具有相同的城市或邮政编码?
答案 0 :(得分:0)
另一个简单的解决方案是merge()
。例如:
df1 <- data.frame(
city = LETTERS[1:5],
some_random_var1 <- sample(1:500, 5)
)
df2 <- data.frame(
city = sample(LETTERS, 5)
some_random_var2 <- sample(50:1000, 5)
)
merge(df1, df2)
city some_random_var1 some_random_var2
1 B 151 82
2 D 321 668
默认情况下,数据框合并在具有相同列名的列上(在这种情况下为&#39; city&#39;)。如果列具有不同的名称,则可以通过参数by.x
和by.y
指定这些列。