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

如何使用R基于给定字符数据集生成指定格式的频率统计表

首先先修正你原始的向量定义代码(R中组合多个元素需要用c()函数包裹),然后可以用两种方法实现需求:

方法1:用stack+table快速生成结果(基础包实现,无需额外安装依赖)

# 构造原始向量并统一转为小写,匹配输出的大小写要求
a <- c("ham", "pizza", "ham", "ham", "apple", "Orange")
b <- c("ham", "guava", "bread")
a <- tolower(a)
b <- tolower(b)

# 合并向量后直接统计频次
df <- stack(list(a = a, b = b))
result <- table(df$ind, df$values)

# 调整列顺序完全匹配你需要的格式
result <- result[, c("ham", "guava", "bread", "pizza", "apple", "orange")]

输出result即可得到目标表格:

ham guava bread pizza apple orange
  a   3     0     0     1     1      1
  b   1     1     1     0     0      0

方法2:手动指定因子水平合并

原理是给两个向量指定相同的所有统计维度,table统计时未出现的元素会自动补0,再按行合并即可:

a <- c("ham", "pizza", "ham", "ham", "apple", "Orange")
b <- c("ham", "guava", "bread")
a <- tolower(a)
b <- tolower(b)

# 手动指定所有要统计的元素及顺序
all_items <- c("ham", "guava", "bread", "pizza", "apple", "orange")

# 分别统计两个向量的频次
count_a <- table(factor(a, levels = all_items))
count_b <- table(factor(b, levels = all_items))

# 按行合并为最终表格
result <- rbind(a = count_a, b = count_b)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:39:03