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

在R中如何对dataframe列进行汇总生成指定交叉透视表?

R实现指定交叉表的两种方案

方案1:基础R实现(无需额外安装包)

直接用xtabs()函数即可生成符合要求的交叉表,代码如下:

# 生成交叉表
crosstab <- xtabs(Col_C ~ Col_A + Col_B, data = df1)
# 打印查看结果
print(crosstab)

运行后输出结构和预期完全一致:

Col_B
Col_A 4 5
    1 1 3
    2 2 4

方案2:tidyverse生态实现(适合后续数据处理)

用tidyr包的pivot_wider()函数做长表转宽表,代码如下:

# 未安装包先运行 install.packages("tidyr")
library(tidyr)

# 转换为宽表格式
crosstab_df <- df1 %>% 
  pivot_wider(
    names_from = Col_B, 
    values_from = Col_C
  )

# 查看结果
print(crosstab_df)

运行输出结果:

# A tibble: 2 × 3
  Col_A   `4`   `5`
  <dbl> <dbl> <dbl>
1     1     1     3
2     2     2     4

如果需要实现示例里带分层表头的美化打印效果,可以搭配gt包或者knitr::kable()函数调整输出样式。


内容的提问来源于stack exchange,提问作者Aswin Seshadri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:24:03