Hi all,
I want to use world map in ggplot2 and show my data on world map. my df is:
$ COUNTRY : chr "DE" "DE" "FR" "FR" ..
$ ContrastColor : int 9 9 9 9 13 9 9 9 9 ..
$ quant : Factor w/ 4 levels "FAST","SLOW",..I need to merge my df with world_map data which is like this:
world_map=map_data("world")
data.frame': 99338 obs. of 6 variables:
$ long : num -69.9 -69.9 -69.9 -70 -70.1 ...
$ lat : num 12.5 12.4 12.4 12.5 12.5 ...
$ group : num 1 1 1 1 1 1 1 1 1 1 ...
$ order : int 1 2 3 4 5 6 7 8 9 10 ...
$ region : chr "Aruba" "Aruba" "Aruba" "Aruba" ...
$ subregion: chr NA NA NA NA ...
but by merging my df with world map data I get a data frame with zero observation in it,I use this command for merging:
world_map=merge(world_map,df,by.x="region",by.y="COUNTRY")
str(world_map)
'data.frame': 0 obs. of 133 variables:
$ region : chr
$ long : num
$ lat : num
$ group : num
$ order : int
$ subregion : chr
does anyone know what is the problem of this merging that I am currently using?
thanks for any help!
Elahe
merging df with world map
5 messages · Elahe chalabi, Jeff Newmiller, David Winsemius +2 more
You should look at your own data before you post. The information in COUNTRY is not the same as the information in region. Also, dput is better than str for posting questions.
Sent from my phone. Please excuse my brevity.
On June 17, 2016 1:06:29 PM PDT, "ch.elahe via R-help" <r-help at r-project.org> wrote:
>Hi all,
>I want to use world map in ggplot2 and show my data on world map. my df
>is:
>
>
> $ COUNTRY : chr "DE" "DE" "FR" "FR" ..
>
> $ ContrastColor : int 9 9 9 9 13 9 9 9 9 ..
>
>$ quant : Factor w/ 4 levels "FAST","SLOW",..I need to
>merge my df with world_map data which is like this:
>
>
> world_map=map_data("world")
> data.frame': 99338 obs. of 6 variables:
> $ long : num -69.9 -69.9 -69.9 -70 -70.1 ...
> $ lat : num 12.5 12.4 12.4 12.5 12.5 ...
> $ group : num 1 1 1 1 1 1 1 1 1 1 ...
> $ order : int 1 2 3 4 5 6 7 8 9 10 ...
> $ region : chr "Aruba" "Aruba" "Aruba" "Aruba" ...
> $ subregion: chr NA NA NA NA ...
>but by merging my df with world map data I get a data frame with zero
>observation in it,I use this command for merging:
>
>
> world_map=merge(world_map,df,by.x="region",by.y="COUNTRY")
> str(world_map)
>
> 'data.frame': 0 obs. of 133 variables:
> $ region : chr
> $ long : num
> $ lat : num
> $ group : num
> $ order : int
> $ subregion : chr
>does anyone know what is the problem of this merging that I am
>currently using?
>thanks for any help!
>Elahe
>
>______________________________________________
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.
[[alternative HTML version deleted]]
On Jun 17, 2016, at 1:06 PM, ch.elahe via R-help <r-help at r-project.org> wrote:
Hi all,
I want to use world map in ggplot2 and show my data on world map. my df is:
$ COUNTRY : chr "DE" "DE" "FR" "FR" ..
$ ContrastColor : int 9 9 9 9 13 9 9 9 9 ..
$ quant : Factor w/ 4 levels "FAST","SLOW",..I need to merge my df with world_map data which is like this:
world_map=map_data("world")
data.frame': 99338 obs. of 6 variables:
$ long : num -69.9 -69.9 -69.9 -70 -70.1 ...
$ lat : num 12.5 12.4 12.4 12.5 12.5 ...
$ group : num 1 1 1 1 1 1 1 1 1 1 ...
$ order : int 1 2 3 4 5 6 7 8 9 10 ...
$ region : chr "Aruba" "Aruba" "Aruba" "Aruba" ...
$ subregion: chr NA NA NA NA ...
but by merging my df with world map data I get a data frame with zero observation in it,I use this command for merging:
world_map=merge(world_map,df,by.x="region",by.y="COUNTRY")
str(world_map)
'data.frame': 0 obs. of 133 variables:
$ region : chr
$ long : num
$ lat : num
$ group : num
$ order : int
$ subregion : chr
does anyone know what is the problem of this merging that I am currently using?
thanks for any help!
I would not expect a merger based on the one hand on two letter initials to match on the other hand fully spelled-out country names.
David Winsemius Alameda, CA, USA
And you can check what David and Jeff suggested like this: intersect( df$COUNTRY, world_map$region ) If they have any values in common, that command will show them. (Note that I said values in common, not countries in common.) WARNING: It appears that you have each country appearing more than once in both of the data frames. Even if the country names were spelled the same (which they are not in the first few rows), I would not care to predict the outcome of a many-to-many merge. It probably won't make sense for showing the data on a map. -Don
Don MacQueen
Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550
925-423-1062
On 6/17/16, 1:06 PM, "R-help on behalf of ch.elahe via R-help"
<r-help-bounces at r-project.org on behalf of r-help at r-project.org> wrote:
>Hi all,
>I want to use world map in ggplot2 and show my data on world map. my df
>is:
>
>
> $ COUNTRY : chr "DE" "DE" "FR" "FR" ..
>
> $ ContrastColor : int 9 9 9 9 13 9 9 9 9 ..
>
> $ quant : Factor w/ 4 levels "FAST","SLOW",..I need to
>merge my df with world_map data which is like this:
>
>
> world_map=map_data("world")
> data.frame': 99338 obs. of 6 variables:
> $ long : num -69.9 -69.9 -69.9 -70 -70.1 ...
> $ lat : num 12.5 12.4 12.4 12.5 12.5 ...
> $ group : num 1 1 1 1 1 1 1 1 1 1 ...
> $ order : int 1 2 3 4 5 6 7 8 9 10 ...
> $ region : chr "Aruba" "Aruba" "Aruba" "Aruba" ...
> $ subregion: chr NA NA NA NA ...
>but by merging my df with world map data I get a data frame with zero
>observation in it,I use this command for merging:
>
>
> world_map=merge(world_map,df,by.x="region",by.y="COUNTRY")
> str(world_map)
>
> 'data.frame': 0 obs. of 133 variables:
> $ region : chr
> $ long : num
> $ lat : num
> $ group : num
> $ order : int
> $ subregion : chr
>does anyone know what is the problem of this merging that I am currently
>using?
>thanks for any help!
>Elahe
>
>______________________________________________
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.
2 days later
you also don't need to do a merger if you use a base `geom_map()` layer with the polygons and another using the fill (or points, lines, etc).
On Fri, Jun 17, 2016 at 5:08 PM, MacQueen, Don <macqueen1 at llnl.gov> wrote:
And you can check what David and Jeff suggested like this: intersect( df$COUNTRY, world_map$region ) If they have any values in common, that command will show them. (Note that I said values in common, not countries in common.) WARNING: It appears that you have each country appearing more than once in both of the data frames. Even if the country names were spelled the same (which they are not in the first few rows), I would not care to predict the outcome of a many-to-many merge. It probably won't make sense for showing the data on a map. -Don -- Don MacQueen Lawrence Livermore National Laboratory 7000 East Ave., L-627 Livermore, CA 94550 925-423-1062 On 6/17/16, 1:06 PM, "R-help on behalf of ch.elahe via R-help" <r-help-bounces at r-project.org on behalf of r-help at r-project.org> wrote:
Hi all,
I want to use world map in ggplot2 and show my data on world map. my df
is:
$ COUNTRY : chr "DE" "DE" "FR" "FR" ..
$ ContrastColor : int 9 9 9 9 13 9 9 9 9 ..
$ quant : Factor w/ 4 levels "FAST","SLOW",..I need to
merge my df with world_map data which is like this:
world_map=map_data("world")
data.frame': 99338 obs. of 6 variables:
$ long : num -69.9 -69.9 -69.9 -70 -70.1 ...
$ lat : num 12.5 12.4 12.4 12.5 12.5 ...
$ group : num 1 1 1 1 1 1 1 1 1 1 ...
$ order : int 1 2 3 4 5 6 7 8 9 10 ...
$ region : chr "Aruba" "Aruba" "Aruba" "Aruba" ...
$ subregion: chr NA NA NA NA ...
but by merging my df with world map data I get a data frame with zero
observation in it,I use this command for merging:
world_map=merge(world_map,df,by.x="region",by.y="COUNTRY")
str(world_map)
'data.frame': 0 obs. of 133 variables:
$ region : chr
$ long : num
$ lat : num
$ group : num
$ order : int
$ subregion : chr
does anyone know what is the problem of this merging that I am currently
using?
thanks for any help!
Elahe
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.