如何反转expss生成的列联表的行顺序?
解决expss列联表行顺序反转问题
要让A1的行顺序从“Like very much”到“Dislike very much”(取值5到1),核心是调整A1变量的水平顺序——expss生成表格时会遵循变量的因子/标签水平顺序,而非事后排序。以下是两种可行方案:
方案1:直接设置因子水平顺序(适用于普通数值型A1)
如果A1是未加标签的数值变量,先将其转换为因子并指定倒序的levels和对应标签:
rawdata %>% mutate(A1 = factor(A1, levels = 5:1, labels = c("Like very much", "Like", "Neither", "Dislike", "Dislike very much"))) %>% tab_cells(A1) %>% tab_cols(total(), R4) %>% tab_stat_cpct() %>% tab_pivot() %>% if_na(0)
方案2:反转已标记变量的水平(适用于已用expss标签的A1)
如果A1已经是labelled类型变量,直接用set_levels函数反转其水平顺序即可:
rawdata %>% mutate(A1 = set_levels(A1, levels = 5:1)) %>% tab_cells(A1) %>% tab_cols(total(), R4) %>% tab_stat_cpct() %>% tab_pivot() %>% if_na(0)
两种方案都会让表格行按“Like very much”→“Like”→“Neither”→“Dislike”→“Dislike very much”的顺序排列,替代默认的升序。
内容的提问来源于stack exchange,提问作者Valerie
相关产品推荐
相关产品推荐

