use*_*950 2 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
Run Code Online (Sandbox Code Playgroud)
在给定的"chr"和"pos"处,给定样品的值可以采用0,0.5,1或NA的形式.我需要执行大量查询,这需要根据每个样本的值的摘要对数据帧进行子集化和排序.
我想得到每列给定值(例如0.5)的出现次数,并将其保存为数据框中的新行.我的最终目标是能够使用新行的值来子集和/或排序我的数据框的列.我已经看到了有关计算事件的类似问题,但我似乎无法找到/识别在所有列中同时执行此操作的解决方案,并将特定值的列方计数保存为新行.
您可以将函数应用于data.frame的所有列.假设您要计算data.frame 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')))
Run Code Online (Sandbox Code Playgroud)