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

R语言按type分组统计计数新增列,table()输出无color列名如何解决

问题原因

你使用table(df$color, df$type)得到的是R的列联表矩阵,color字段的取值存储在矩阵的行名中,不会作为单独的列展示,只要做简单转换即可得到预期结果。

解决方法

方法1:Base R 原生实现

# 将列联表转为数据框
count_df <- as.data.frame.matrix(table(df$color, df$type))
# 提取行名作为color列
count_df$color <- rownames(count_df)
# 调整列顺序,把color列放在第一位置
count_df <- count_df[,c("color", setdiff(colnames(count_df), "color"))]

方法2:tidyverse 套件实现(适配性更强)

如果常用tidyverse生态,可以用dplyr+tidyr的组合实现,无需手动调整列,type字段的所有取值会自动生成对应列:

library(dplyr)
library(tidyr)

count_df <- df %>%
  # 按color、type分组统计数量
  count(color, type) %>%
  # 长表转宽表,缺失的组合默认填充0
  pivot_wider(
    names_from = type,
    values_from = n,
    values_fill = 0
  )

内容的提问来源于stack exchange,提问作者Sunny Smith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:15:07