R 如何计算数据框多列中值的出现次数,并将特定值的按列计数保存为新行?

标签 r count find-occurrences

我有一个大型数据框(大约 1,000 行和 30,000 列),如下所示:

   chr pos  sample1 sample2 sample3 sample 4
    1 5050    1       NA      0       0.5
    1 6300    1       0       0.5     1
    1 7825    1       0       0.5     1
    1 8200    0.5     0.5     0       1

在给定的“chr”和“pos”处,给定样本的值可以采用 0、0.5、1 或 NA 的形式。我要执行大量查询,这些查询需要根据每个样本的值汇总对数据框进行子集化和排序。

我想计算每列给定值(例如 0.5)的出现次数,并将其另存为我的数据框中的新行。我的最终目标是能够使用新行的值对数据框的列进行子集化和/或排序。我已经看到关于计算出现次数的类似问题,但我似乎无法找到/识别同时在所有列上执行此操作并将特定值的列计数保存为新行的解决方案。

最佳答案

您可以将函数应用到数据框的所有列。假设你想计算数据框 d 每一列中 'A' 的数量

#a sample data.frame
    L3 <- LETTERS[1:3]
     (d <- data.frame(cbind(x = 1, y = 1:10), fac = sample(L3, 10, replace = TRUE)))



# the function you are looking for
    apply(X=d,2,FUN=function(x) length(which(x=='A')))

关于R 如何计算数据框多列中值的出现次数,并将特定值的按列计数保存为新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20305851/

相关文章:

在 R 中读取 csv 文件

R-使用ggplot2模拟hist()的默认行为以获取bin宽度

linux - Rmpi : cannot use MPI_Comm_spawn API

sql - 如何在 SQL 中获取唯一值?

SQL 查询获取该月中每一天的计数

r - str_replace_all 迭代地替换命名向量元素,而不是一次全部替换

r - 每个值的累积计数(重复)

python - 如何在 Python 中找到字符的开始和结束出现

r - 按用户聚合数据帧,在第一次发生治疗之前保留每个用户的行

bash - 计算每行出现的字符数