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

R数据框分组计算物种出现频率与阳性样本绝对数量

R实现数据框转换的完整代码

整体思路:先将非标准结构的宽表转换为整洁长表,提取分组信息后按组统计目标指标即可。
首先加载依赖包:

library(dplyr)
library(tidyr)

处理过程代码:

# 1. 数据结构转换:提取行名、转长表后拆分分组信息与物种丰度
df_tidy <- df %>%
  rownames_to_column("type") %>%
  pivot_longer(cols = -type, names_to = "sample", values_to = "value") %>%
  pivot_wider(names_from = type, values_from = value) %>%
  # 转换物种计数列为数值型(原数据因含分组字符串被存为字符格式)
  mutate(across(starts_with("Species"), as.numeric))

# 2. 按组计算各物种的出现频率与绝对数量
result <- df_tidy %>%
  group_by(Group) %>%
  summarise(
    # 统计每组总样本数
    group_sample_n = n(),
    # 对每个物种分别计算绝对出现数和频率
    across(starts_with("Species"),
           list(
             Absolute = ~sum(.x > 0),
             Freq = ~sum(.x > 0)/n()
           ))
  ) %>%
  # 转换为要求的输出结构
  pivot_longer(cols = -c(Group, group_sample_n),
               names_to = c("Species", ".value"),
               names_sep = "_") %>%
  # 调整列顺序与命名匹配需求
  select(Species, Group, Freq, Absolute) %>%
  ungroup()

运行后打印result即可得到你需要的输出格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:45:02