【发布时间】:2019-07-16 07:53:10
【问题描述】:
我已经从 gss 数据 (https://gss.norc.org/) 中构建了一个数据集,关联了几十年的数据
env_data <- select(gss, year, sex, degree, natenvir) %>% na.omit()
env_datadecades <- env_data %>%
mutate(decade=as.factor(ifelse(year<1980,
"70s",
ifelse(year>1980 & year<=1990,
"80s",
ifelse(year>1990 & year<2000, "90s", "00s")))))
我想用ggplot2 和facet_grid() 绘制它,但顺序不正确,所以我在其他地方看到了它
set.seed(6809)
env_datadecades$decade <- factor(env_datadecades$decade,
levels = c("Seventies", "Eighties", "Nineties", "Twothous"))
它第一次工作,但当我再次尝试运行代码时,我得到 NA 十年内的所有数据。发生了什么?
【问题讨论】:
-
也许是
factor(..., levels=..., ordered=TRUE) -
那行不通...
-
如果没有可重现的示例,很难弄清楚这一点。但我看到的一件事是,在您的第二个代码 sn-p 中,您使用的是数据中不存在的级别。您是否尝试在第二个代码 sn-p 中使用
levels = c("70s", "80s", "90s","00s")? -
@ManuelaRipollésOrovitg:你得到了
NA,因为你指定的关卡不存在。应该是labels = c("Seventies", "Eighties", "Nineties", "Twothous")和jludewig提到的levels -
谢谢你的问题是,是的!
标签: r ggplot2 dplyr r-factor facet-grid