我想要将数字更改为列表中的字符,例如(1 = 1)到(1 =欧洲)等,如图片中所述?

时间:2018-08-25 10:41:30

标签: r

我想将列表中的(位置)更改为1欧洲,2亚洲,3非洲,4拉丁美洲和5北美。所以我可以在地块上有名字而不是数字。

到目前为止我所拥有的:

What I have so far

1 个答案:

答案 0 :(得分:0)

我认为我一开始无法正确理解您的问题。如果要用字符串替换列中的值,然后在ggplot中按字母顺序使用它们,则可以尝试例如:

library(tidyverse)
last %>% 
  mutate(place = forcats::fct_recode(place %>% as.character(),
                                   'Europe' = '1',
                                   'Asia' = '2',
                                   'Africa' = '3',
                                   'Latin America' = '4',
                                   'North America' = '5') %>% as.character())

然后使用facet_grid中的位置。它应该按字母顺序包装它们。看到它的可复制版本:

library(tidyverse)
mtcars %>% 
  mutate(am = forcats::fct_recode(am %>% as.character(), 
                         'Africa' = '1', 
                         'Europe' = '0') %>% as.character()) %>% 
  ggplot(aes(cyl, mpg)) +
  geom_point() +
  facet_grid(~am)

这按您的意图工作吗?