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

计算数据集特征组合严格出现频次并使用ggplot可视化的方法

特征组合频次统计与可视化方案

1. 生成严格出现频次统计表格

首先,为每一行数据标记对应的严格特征组合(仅组合内特征为1,其余为0),再统计各组合的出现次数:

library(dplyr)

# 为数据集添加特征组合标签
x$feature_combination <- case_when(
  x$a == 1 & x$b == 0 & x$c == 0 ~ "仅特征a",
  x$a == 0 & x$b == 1 & x$c == 0 ~ "仅特征b",
  x$a == 0 & x$b == 0 & x$c == 1 ~ "仅特征c",
  x$a == 1 & x$b == 1 & x$c == 0 ~ "仅特征a+b",
  x$a == 1 & x$b == 0 & x$c == 1 ~ "仅特征a+c",
  x$a == 0 & x$b == 1 & x$c == 1 ~ "仅特征b+c",
  x$a == 1 & x$b == 1 & x$c == 1 ~ "特征a+b+c",
  TRUE ~ "无特征为1" # 可选:不需要全0情况可删除此行
)

# 计算各组合频次并按降序排列
freq_table <- x %>%
  count(feature_combination, name = "出现频次") %>%
  arrange(desc(出现频次))

执行后,freq_table即为所需统计表格,包含所有严格特征组合及其出现次数。

2. ggplot可视化最优方案

针对分类频次数据,水平条形图是最优选择(标签可读性更强),搭配频次排序、数值标注和简洁主题,可清晰展示分布:

library(ggplot2)

ggplot(freq_table, aes(x = reorder(feature_combination, 出现频次), y = 出现频次)) +
  geom_bar(stat = "identity", fill = "#2E8B57", alpha = 0.8) +
  geom_text(aes(label = 出现频次), hjust = -0.1, size = 3.5) +
  coord_flip() +
  labs(
    title = "特征组合严格出现频次统计",
    x = "特征组合",
    y = "出现频次"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
    axis.title = element_text(size = 12),
    axis.text = element_text(size = 10)
  )

可选调整:

  • 偏好垂直条形图时,删除coord_flip(),并将geom_text的hjust改为0.5(数值标签居中于条形顶部)。
  • 不需要"无特征为1"组合时,在生成freq_table时添加filter(feature_combination != "无特征为1")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:42:32