ggplot2合并数据框和图

时间:2019-01-18 12:53:14

标签: r ggplot2

我有两个数据框,一个是英国邮政编码,另一个是经纬度坐标,如何合并这两个数据框,然后仅在地图上绘制匹配的邮政编码坐标?在此先感谢您的帮助。

$(document).ready(function() {
      $('.category>div' ).on('click', function(){
     $('.wrapper').toggle();
      })
    });

1 个答案:

答案 0 :(得分:0)

您可以尝试加入,我认为这是您的问题:

library(data.table)

dt.1 <- data.table(id = 1:10,
                   x1 = LETTERS[1:10])

dt.1

    id x1
 1:  1  A
 2:  2  B
 3:  3  C
 4:  4  D
 5:  5  E
 6:  6  F
 7:  7  G
 8:  8  H
 9:  9  I
10: 10  J

dt.2 <- data.table(id = seq(from = 2, to = 20, by = 2),
                   lat = seq(from = -5, to = -12.5, length.out = 10),
                   lng = seq(from = 3, to = 4.3, length.out = 10))

dt.2

    id        lat      lng
 1:  2  -5.000000 3.000000
 2:  4  -5.833333 3.144444
 3:  6  -6.666667 3.288889
 4:  8  -7.500000 3.433333
 5: 10  -8.333333 3.577778
 6: 12  -9.166667 3.722222
 7: 14 -10.000000 3.866667
 8: 16 -10.833333 4.011111
 9: 18 -11.666667 4.155556
10: 20 -12.500000 4.300000

setkey(dt.1, id)
setkey(dt.2, id)

dt.merge <- dt.1[dt.2]

dt.merge

    id   x1        lat      lng
 1:  2    B  -5.000000 3.000000
 2:  4    D  -5.833333 3.144444
 3:  6    F  -6.666667 3.288889
 4:  8    H  -7.500000 3.433333
 5: 10    J  -8.333333 3.577778
 6: 12 <NA>  -9.166667 3.722222
 7: 14 <NA> -10.000000 3.866667
 8: 16 <NA> -10.833333 4.011111
 9: 18 <NA> -11.666667 4.155556
10: 20 <NA> -12.500000 4.300000

dt.merge[complete.cases(dt.merge)]

   id x1       lat      lng
1:  2  B -5.000000 3.000000
2:  4  D -5.833333 3.144444
3:  6  F -6.666667 3.288889
4:  8  H -7.500000 3.433333
5: 10  J -8.333333 3.577778