使用data.frame上的by()在R中进行二项测试
我对使用data.frame上的by()在R中进行二项测试,r,function,apply,R,Function,Apply,我对binom.test在by选项中使用时的行为感到困惑 它似乎不适用于某些数据帧,但适用于我放在一起的一些虚拟数据 调用mean() 下面是我的示例代码 #####这不起作用。。。 bug如果您尝试以下操作,您可以看到问题: by(bug,bug$spray.n,FUN=function(X)table(X$outcome))一些binom.test调用不起作用的原因是一些组都成功(或失败)。因此,为了进行测试,每个小组至少需要两个级别(这完全有道理…) 完整性: #
binom.test在by
选项中使用时的行为感到困惑
它似乎不适用于某些数据帧,但适用于我放在一起的一些虚拟数据
调用mean()
下面是我的示例代码
#####这不起作用。。。
bug如果您尝试以下操作,您可以看到问题:
by(bug,bug$spray.n,FUN=function(X)table(X$outcome))
一些binom.test
调用不起作用的原因是一些组都成功(或失败)。因此,为了进行测试,每个小组至少需要两个级别(这完全有道理…)
完整性:
##### this does work...
air <- airquality
air
air$outcome <- ifelse(air$Wind > 10, 1, 2 )
binom.test(table(air$outcome), alternative="greater")
by(air, air$Month, FUN = function(X) mean(X$Wind))
by(air, air$Month, FUN = function(X) table(X$outcome))
by(air, air$Month, FUN = function(X) binom.test(table(X$outcome), alternative="greater"))
#####这确实有效。。。
air如果您尝试的话,您可能会看到一个问题:by(bug,bug$spray.n,FUN=function(X)table(X$outcome))
在没有警告或注释的情况下滑入rm(list=ls())
是不礼貌的。@DWin很抱歉,在我没有密切注意的情况下溜进来…+1您的额外解释对其他人更有用。
##### this does work...
air <- airquality
air
air$outcome <- ifelse(air$Wind > 10, 1, 2 )
binom.test(table(air$outcome), alternative="greater")
by(air, air$Month, FUN = function(X) mean(X$Wind))
by(air, air$Month, FUN = function(X) table(X$outcome))
by(air, air$Month, FUN = function(X) binom.test(table(X$outcome), alternative="greater"))