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

在R语言中统计数据框某列拆分后元素的出现次数

基于Python pandas的解决方案

步骤1:导入库并构造数据框

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'X1': ['Fox', 'Duck', 'Bird'],
    'X2': ['A/B/C/D', 'A/B/E/F', 'A/E/G']
})

步骤2:拆分并展开X2列的元素

把X2中用/分隔的每个元素拆成单独行:

# 拆分字符串并转成行
split_elements = df['X2'].str.split('/', expand=True).stack().reset_index(drop=True)

步骤3:统计次数并整理结果

# 统计每个元素的出现次数
count_df = split_elements.value_counts().reset_index()
# 修改列名匹配需求
count_df.columns = ['X1', 'X2 (counts)']
# 按元素排序,和示例结果一致
count_df = count_df.sort_values('X1').reset_index(drop=True)

# 输出结果
print(count_df)

运行后输出:

X1  X2 (counts)
0  A            3
1  B            2
2  C            1
3  D            1
4  E            2
5  F            1
6  G            1

R语言解决方案
library(tidyverse)

# 构造数据框
df <- tibble(
  X1 = c("Fox", "Duck", "Bird"),
  X2 = c("A/B/C/D", "A/B/E/F", "A/E/G")
)

# 拆分元素、统计次数并整理格式
count_result <- df %>%
  separate_rows(X2, sep = "/") %>%  # 拆分并展开成行
  count(X2, name = "X2 (counts)") %>%  # 统计次数
  rename(X1 = X2) %>%  # 修改列名
  arrange(X1)  # 按元素排序

print(count_result)

运行后得到与需求一致的结果。

内容的提问来源于stack exchange,提问作者Gabriel G.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 12:01:20