如何聚合结果以获得 R Studio 中数据集每一行中最常见的数字

How do I aggregate results to get the most common number in each row of a dataset in R Studio

我正在做一些共识聚类,它 return 是一个名为“consensus_imouted”的集合,有 3000 行,每行有 10 个重复,每个重复都有聚类号(从 1-6 不等)。我想 return 每行只有一列,每行都有最常见的簇号。例如,第一行是 3 3 3 3 3 3 3 3 6 3,所以我希望它是 3 等等。有什么帮助吗?

您可以使用apply函数如下:

sampledata <- matrix(sample(1:6,30000,replace = TRUE), ncol = 10, nrow = 3000)
sampledata <- data.frame(sampledata)

sampledata$mostCounts <- apply(sampledata,1, function(row0) {
  as.numeric(names(which.max(table(row0))))
})

要获得最频繁出现的值,只需通过table计算行中的值。然后,使用 which.max 选择计数最高的值。在一个table中,counts对应的值是table的名字,所以用names提取原值。现在,因为您知道它是数字,只需使用 as.numeric.

将字符转换为数字即可