You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何反转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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 07:26:14