这个代码就是处理kegg和go的,输入文件不一样,但是整理成类似的就行
我之前在qq说统计的方法有说过
第一考虑功能在基因的占比,比如有20p的基因有这个功能,
第二是功能整体的占比
这个代码里就是第一种,这个没关系的,都可以用的,一般来说还是第一种更多一点,你也可以用已经得到的kegg的结果和文章的看一下,差的大不大
# 创建一个函数来处理元素向量的每个元素
process_elements <- function(i, df, cf) {
# 从df表格的第二列列表中提取元素
element_vector <- unlist(strsplit(df$GID[i], ";"))
# 在cf表格的第一列中查找匹配的行索引
match_rows <- cf$X.ID %in% element_vector
match_data <- cf[match_rows, -1]
# 计算结果并转置为数据框
result <- as.data.frame(t(colSums(match_data)))
# 将结果与df的行进行拼接
bind_cols(df[i, ], result)
}