重命名 R 中因子的标签

2024-04-08

我有按年龄组组织的男性和女性人口的人口普查数据:

library(tidyverse)

url <- "https://www2.census.gov/programs-surveys/popest/datasets/2010-2018/counties/asrh/cc-est2018-alldata-54.csv"

if (!file.exists("./datafiles/cc-est2018-alldata-54.csv"))
  download.file(url, destfile = "./datafiles/cc-est2018-alldata-54.csv", mode = "wb")

popSample <- read.csv("./datafiles/cc-est2018-alldata-54.csv") %>%
  filter(AGEGRP != 0 & YEAR == 1) %>%
  select("STNAME", "CTYNAME", "AGEGRP", "TOT_POP", "TOT_MALE", "TOT_FEMALE")

popSample$AGEGRP <- as.factor(popSample$AGEGRP)

然后,我绘制了按年龄组(1-18 岁,目前为被视为 int

g <- ggplot(popSample, aes(x=TOT_MALE, y=TOT_FEMALE)) +
  geom_point(alpha = 0.5, colour="darkblue") +
  scale_x_log10() +
  scale_y_log10() +
  facet_wrap(~AGEGRP) +
  stat_smooth(method = "lm", col = "darkred", size=.75) +
  labs(title = "F vs. M Population across all Age Groups", x = "Total Male (log10)", y = "Total Female (log10)") +
  theme_light()

g

Which results in this plot: https://share.getcloudapp.com/v1ur6O4e https://share.getcloudapp.com/v1ur6O4e plot

问题:我试图将 AGEGRP 列从“int”转换为“factor”,并将因子标签从“1”、“2”、“3”、...“18”更改为“AgeGroup1”、“AgeGroup2” 、“年龄组 3”、...“年龄组 18”

当我尝试此代码时,我的 AGEGRP 列的观察值全部替换为 NA:popSample$AGEGRP <- factor(popSample$AGEGRP, levels = c("0 to 4", "5 to 9", "10 to 14", "15 to 19", "20 to 24", "25 to 29", "30 to 34", "35 to 39", "40 to 44", "45 to 49", "50 to 54", "55 to 59", "60 to 64", "65 to 69", "70 to 74", "75 to 79", "80 to 84", "85+"))

https://share.getcloudapp.com/qGuo1O4y https://share.getcloudapp.com/qGuo1O4y

感谢您的帮助,


popSample$AGEGRP <- factor( popSample$AGEGRP, levels = c("0 to 4", "5 to 9", "10 to 14", "15 to 19", "20 to 24", "25 to 29", "30 to 34", "35 to 39", "40 to 44", "45 to 49", "50 to 54", "55 to 59", "60 to 64", "65 to 69", "70 to 74", "75 to 79", "80 to 84", "85+"))

但需要添加所有级别。

或者

levels(popSample$AGEGRP) <- c("0 to 4", "5 to 9", "10 to 14", "15 to 19", "20 to 24", "25 to 29", "30 to 34", "35 to 39", "40 to 44", "45 to 49", "50 to 54", "55 to 59", "60 to 64", "65 to 69", "70 to 74", "75 to 79", "80 to 84", "85+")

应该也能工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重命名 R 中因子的标签 的相关文章

随机推荐