【发布时间】:2016-06-22 14:24:34
【问题描述】:
有人知道如何连接来自两个相似数据框的两个字符列吗?
我有一个数据框,它已经填写了部分字符列,并希望在剩余的空行中添加其他数据框的字符。
我的第一个数据框是这样的:
> df1 %>% View ()
Source: local data frame [6,249 x 4]
tripnr shootlat shootlong area
(dbl) (dbl) (dbl) (chr)
1 199801 50.50000 0.5000000
2 199801 50.48333 0.4166667
3 199801 50.45000 0.3500000
4 199801 50.45000 0.3833333
5 199801 50.41667 0.3166667
6 199801 50.46667 0.5000000
7 199801 50.26667 0.3333333
8 199801 50.28333 0.2333333
9 199801 50.35000 0.4500000
10 199801 50.48333 0.4666667
区域列的最后一位有区域名称。
我的第二个数据框正好相反(它填写了 df1 没有填写的区域名称):
> df2 %>% View ()
Source: local data frame [6,249 x 4]
tripnr shootlat shootlong area
(dbl) (dbl) (dbl) (chr)
1 199801 50.50000 0.5000000 VIId
2 199801 50.48333 0.4166667 VIId
3 199801 50.45000 0.3500000 VIId
4 199801 50.45000 0.3833333 VIId
5 199801 50.41667 0.3166667 VIId
6 199801 50.46667 0.5000000 VIId
7 199801 50.26667 0.3333333 VIId
8 199801 50.28333 0.2333333 VIId
9 199801 50.35000 0.4500000 VIId
10 199801 50.48333 0.4666667 VIId
我想要做的是结合两个数据框并拥有完整的区域列表。 我试过 left_join 但这并没有结合两个区域列:
`> df1 %>%
+ left_join(df2, by=c( "tripnr", "shootlat", "shootlong"))
Source: local data frame [7,017 x 5]
tripnr shootlat shootlong area.x area.y
(dbl) (dbl) (dbl) (chr) (chr)
1 199801 50.50000 0.5000000 VIId
2 199801 50.48333 0.4166667 VIId
3 199801 50.45000 0.3500000 VIId
4 199801 50.45000 0.3833333 VIId
5 199801 50.41667 0.3166667 VIId
6 199801 50.46667 0.5000000 VIId
7 199801 50.26667 0.3333333 VIId
8 199801 50.28333 0.2333333 VIId
9 199801 50.35000 0.4500000 VIId
10 199801 50.48333 0.4666667 VIId`
有没有办法做到这一点?
谢谢一百万!
【问题讨论】:
标签: r dataframe character left-join dplyr