我想将列表中的数字改为字符,如(1=1)改为(1=Europe)等等,如图中所述?

我想将列表中的数字改为字符,如(1=1)改为(1=Europe)等等,如图中所述?,r,R,我想把名单改成1个欧洲,2个亚洲,3个非洲,4个拉丁美洲,5个北美。这样我就可以在图上有名字而不是数字 到目前为止,我所拥有的: 我想我起初没有正确理解你的问题。如果要用字符串替换列中的值,然后在ggplot中按字母顺序使用它们,可以尝试以下操作,例如: library(tidyverse) last %>% mutate(place = forcats::fct_recode(place %>% as.character(),

我想把名单改成1个欧洲,2个亚洲,3个非洲,4个拉丁美洲,5个北美。这样我就可以在图上有名字而不是数字

到目前为止,我所拥有的:


我想我起初没有正确理解你的问题。如果要用字符串替换列中的值,然后在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())
然后使用平面网格中的位置。它应该按字母顺序包装它们。请参阅此可复制版本:

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)

这是否符合您的意图?

我提供了一个图像,可能有助于您理解问题,我是R的新手。但是,在第三列中,按字母顺序显示了世界上所有国家的(1,2,3,4,5)。我想我最初误解了您的问题。我对答案进行了编辑,因此名称按字母顺序排列。我的列表如下:V1 V2 V62 place 1 Aruba ABW 0.42078068 1 2 Afghanistan AFG 2.49078956 2安哥拉AGO 3.31350733 3 3 4阿尔巴尼亚ALB-0.09197229 1 5 Andorr和-0.40973567 1 6亚美尼亚ARM 0.192442212请不要将数据作为图像发布。花点时间阅读。