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