小编ric*_*roe的帖子

如何计算R中一行中特定值的出现次数

我有一个非常棘手的问题,我似乎无法解决.

我有一个大型数据集(23277行,151列).每列的值均为0:100(含),表示为世界事件分配的概率.

作为计算每个人得分的一部分,我需要计算数据集中每个值的出现次数.

我首先尝试申请,但我需要忽略NA和子集,所以当我尝试以下内容时:

apply(ans.samp, 1, sum(ans.samp[ans==0]), na.rm=TRUE)
Run Code Online (Sandbox Code Playgroud)

我收到了错误消息:sum(ans.samp [ans == 0])'不是函数,字符或符号

我用sapply,vapply,tapply和do.call重复这个过程无济于事.

放弃了矢量化解决方案,我写了以下for循环.

RespCount <- function (x) { for (i in (1:nrow(x))) 
  { res <- vector(mode="numeric", length=nrow(x))
    ans.tmp <- x[i,]
    res[i] <- length(ans.tmp[ans.tmp==0])
    print(res)
  }
return(res)
}
Run Code Online (Sandbox Code Playgroud)

然而,在我使用它之后,它只返回样本中O的总和.

我会感激一些帮助,因为我在一段时间的压力下,我希望将来能够在R中解决这些问题.

包含的样本数据用于再现性:

structure(list(X = 1:6, X100 = c(70L, NA, 80L, 0L, 40L, NA), 
    X10 = c(30L, NA, NA, NA, NA, NA), X1 = c(50L, NA, NA, NA, 
    NA, NA), X11 = c(50L, NA, NA, NA, NA, NA), X12 = c(30L, NA, …
Run Code Online (Sandbox Code Playgroud)

r function rowsum

6
推荐指数
1
解决办法
5510
查看次数

标签 统计

function ×1

r ×1

rowsum ×1