←
PDF 251 / 520 General Social Survey
→
English · PDF 251
Original PDF page 251
中文 · PDF 251

factor(x1) #> [1] Dec Apr Jan Mar #> Levels: Apr Dec Jan Mar

有时你更希望水平的顺序与数据中首次出现的顺序一致。你可以在创建因子时将 levels 设置为 unique(x) 来实现,或者事后使用 fct_inorder():

f1 <- factor(x1, levels = unique(x1)) f1 #> [1] Dec Apr Jan Mar #> Levels: Dec Apr Jan Mar f2 <- x1 %>% factor() %>% fct_inorder() f2 #> [1] Dec Apr Jan Mar #> Levels: Dec Apr Jan Mar

如果你需要直接访问有效水平的集合,可以使用 levels():

levels(f2) #> [1] "Dec" "Apr" "Jan" "Mar"

综合社会调查(General Social Survey)

在本章的剩余部分,我们将重点关注 forcats::gss_cat。它来自 综合社会调查 (General Social Survey) 的数据样本,这是由芝加哥大学的独立研究机构 NORC 开展的一项长期运行的美国调查。该调查包含数千个问题,因此在 gss_cat 中我挑选了几个问题,用以说明你在处理因子时会遇到的一些常见挑战:

gss_cat #> # A tibble: 21,483 × 9 #> year marital age race rincome #> #> 1 2000 Never married 26 White $8000 to 9999 #> 2 2000 Divorced 48 White $8000 to 9999 #> 3 2000 Widowed 67 White Not applicable #> 4 2000 Never married 39 White Not applicable #> 5 2000 Divorced 25 White Not applicable #> 6 2000 Married 25 White $20000 - 24999 #> # ... with 2.148e+04 more rows, and 4 more variables: #> # partyid 、relig 、denom 、tvhours