有人知道如何加入来自两个相似数据框的两个字符列吗?
我有一个数据框已经填写了部分字符列,并希望在剩余的空行中添加字符形成另一个数据框。
我的第一个数据框如下所示:
> 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`
有办法做到这一点吗?
万分感谢!
答案 0 :(得分:0)
试试这个
df3 <- merge(df1,df2, all = T)