具有相同标识符的合拢行[closed]

问题描述 投票:-2回答:1
我有一个具有多个ID的矩阵表,这些ID被复制并显示(参见图1),我希望将它们折叠起来,为每个标识符获取每一列中多个值的平均值(如图2所示)。如何在R或其他软件中执行该操作?有人可以帮我提供在R中使用的脚本吗?

“图1”

预期结果:

“图2”

python r bioinformatics biopython bioconductor
1个回答
0
投票
这是一种使用tidyverse对R进行所需操作的方法:

#install.packages("tidyverse") library(tidyverse) size <- 5 vec.list <- vector("list", size) ident <- paste0("ident.", 1:size) # simulate a small dataset for(i in 1:size){ a <- runif(5, 0, 1) b <- rnorm(5, 2, 4) c <- rnorm(5, 0.5, 1) vec.list[[i]] <- data.frame(ident, a, b, c) } vec.list # unlisted to get a data.frame similar to yours and sorted according to # ID df.pos <- do.call(rbind.data.frame, vec.list) %>% arrange(ident) # Here is how you can summarise multiple informations for each ID df.pos %>% group_by(ident) %>% summarise(mean_a = mean(a, na.rm = T), mean_b = mean(b, na.rm = T), mean_c = mean(c, na.rm = T)) # you can have a lot of summary statistics in addition to mean (sd, median, # var, etc.)


-2
投票

图1是以下xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:

Figure 1

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

© www.soinside.com 2019 - 2024. All rights reserved.