问题: 我要合并两个不同大小的数据集。无需放弃行或插入NA。要将其与excel文档的情况进行比较,您将拥有五列,并向下拖动其中三列以填充将数据添加到第四和第五列所插入的行所留下的空白。
示例数据集 稍后在我的头脑风暴代码中使用zipcode = a,step3 = b解决我的问题
> head(zipcode_joincsv)
zip city abv latitude longitude median mean pop
226 01749 Hudson AL 42.38981 -71.55791 76500 85689 18081
227 01752 Marlborough AL 42.35091 -71.54753 71835 89002 36273
228 01754 Maynard AL 42.43078 -71.45594 76228 82167 10414
229 01756 Mendon AL 42.09201 -71.54474 102625 117692 5257
230 01757 Milford AL 42.14918 -71.52149 68565 82206 26877
231 01760 Natick AL 42.29076 -71.35368 90673 113933 31763
> head(step3_df)
tolower.state.name. state.abb
1 alabama AL
2 alaska AK
3 arizona AZ
4 arkansas AR
5 california CA
6 colorado CO
所需结果: 一个DF,其中每个邮政编码城市组合与其状态pop和 收入。他们共有的一列是缩写列。
tolower.state.name. zip city abv latitude longitude median mean pop
1 alabama 01749 Hudson AL 42.38981 -71.55791 76500 85689 18081
2 alabama 01752 Marlborough AL 42.35091 -71.54753 71835 89002 36273
3 alabama 01754 Maynard AL 42.43078 -71.45594 76228 82167 10414
4 alabama 01756 Mendon AL 42.09201 -71.54474 102625 117692 5257
5 alabama 01757 Milford AL 42.14918 -71.52149 68565 82206 26877
6 alabama 01760 Natick AL 42.29076 -71.35368 90673 113933 31763
7 alaska data from these rows
8 arizona data from these rows
9 arkansas data from these rows
10 california data from these rows
11 colorado data from these rows
我已经考虑使用类似的东西
sqldf ("SELECT a.Zip, a.City, a.State Abv, a.Lat, a.Long, a.median, a.mean, a.pop, b.state.name, b.states.abb, b.pop, b.income
FROM a a
LEFT JOIN b b using (abv)")
我知道,仅当它能处理所有没有A匹配集的行时,它可能就不会起作用,它将输入一个NA,我想要的是纽约州每个平均收入的州总人口就被复制了。直到每个AR和每个AL等两个数据集都可以创建一个使用所有数据的ggplot为止。
答案 0 :(得分:1)
dplyr::left_join(a, b, by="abv")
应该可以工作。