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

如何使用R统计列中特定值的出现次数?基因旁系同源物计数需求

用R统计基因旁系同源物数量的解决方案

当然可以!用R处理这个统计需求非常直接,我给你两种实现方式——一种用dplyr(tidyverse生态,代码更直观易读),另一种用基础R,你可以根据自己的习惯选择:

第一步:准备数据

首先我们先模拟你提供的示例数据(如果你是从文件导入,后面会补充导入方法):

# 模拟你的表格数据
gene_data <- data.frame(
  `Gene name` = c(rep("Crabp2", 12), rep("Zfp653", 4), rep("AC163623.1", 4), "Apom", "Map10"),
  `Paralog` = c("Crabp1", "Rbp2", "Rbp7", "Rbp1", "Fabp5", "Fabp7", "Pmp2", "Fabp12", "Gm37389", "Fabp3", "Fabp9", "Fabp4",
                "AC163623.1", "Zfp276", "Zfp91", "Zfp692",
                "Zfp653", "Zfp276", "Zfp91", "Zfp692",
                NA, NA)
)

如果你的数据是保存在本地文件中:

  • 对于CSV文件:
gene_data <- read.csv("你的文件名.csv", header = TRUE, stringsAsFactors = FALSE)
  • 对于Excel文件,先安装readxl包再导入:
if (!require(readxl)) {
  install.packages("readxl")
  library(readxl)
}
gene_data <- read_excel("你的文件名.xlsx")

方法一:使用dplyr包(推荐)

dplyr是tidyverse家族的核心包,处理数据分组统计非常方便:

# 安装并加载dplyr(如果还没安装)
if (!require(dplyr)) {
  install.packages("dplyr")
  library(dplyr)
}

# 分组统计旁系数量
paralog_count <- gene_data %>%
  group_by(`Gene name`) %>%
  summarise(freq = sum(!is.na(`Paralog`))) %>%  # 统计非空的旁系条目数
  rename(Gene = `Gene name`)  # 把列名改成你想要的格式

# 查看结果
print(paralog_count)

运行后你会得到完全符合需求的结果:

# A tibble: 5 × 2
  Gene          freq
  <chr>        <int>
1 AC163623.1       4
2 Apom             0
3 Crabp2          12
4 Map10            0
5 Zfp653           4

方法二:使用基础R(无需额外包)

如果你不想安装新包,用基础R也能实现:

# 获取所有唯一的基因名称
unique_genes <- unique(gene_data$`Gene name`)

# 逐个统计每个基因的旁系数量
freq_counts <- sapply(unique_genes, function(gene) {
  # 筛选出当前基因的所有行,统计非空旁系的数量
  sum(!is.na(gene_data$Paralog[gene_data$`Gene name` == gene]))
})

# 转换成你需要的数据框格式
paralog_count_base <- data.frame(
  Gene = names(freq_counts),
  freq = as.numeric(freq_counts),
  row.names = NULL
)

# 查看结果
print(paralog_count_base)

这个方法的结果和上面完全一致,只是用了基础R的函数实现。

代码逻辑说明

两种方法的核心逻辑都是:

  1. 按基因名称分组
  2. 统计每组中Paralog列**非空(非NA)**的条目数——空值(比如Apom和Map10的行)会被算作0,完全符合你的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:49:46