r - 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)的出现次数,并将其另存为数据框中的新行。我的最终目标是能够使用新行的值对数据框的列进行子集和/或排序。我已经看到过类似的关于计数出现次数的问题,但是我似乎找不到/认识到一种解决方案,可以同时在所有列上执行此操作,并将特定值的列计数保存为新行。

最佳答案

您可以将函数应用于data.frame的所有列。假设您要计算数据每一列中的'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 - R如何计算跨数据帧多列的值的出现次数,并将特定值的按列计数保存为新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20305851/

相关文章:

c - 如何通过计数值出现的数量并将其打印在该值旁边来制作一个新数组?

java - 计算出现次数并从字符串中删除重复项

r - ggplot2:为每个 x 处的组值总和添加行

java - RCaller引发java.io.IOException/ExecutionException

php - MySQL计算不同结果的数量

mysql - 计算一列中与另一列中多个定义的 ID(行)匹配的 ID 数

java - 按出现的降序显示单词

r - 高效的 jaccard 相似度 DocumentTermMatrix

r - 如何使用R中的QR分解计算最小二乘估计量的方差?

mysql - 案例查询语句中使用的MySQL计数