【发布时间】:2014-03-03 14:26:56
【问题描述】:
我正在尝试学习如何在 R 中有效地使用 apply 系列。我有以下数字向量
>aa
[1] 0.047619 0.000000 NaN 0.000000 0.000000 0.000000 0.000000 0.000000
[9] NaN NaN 0.000000 NaN NaN NaN NaN NaN
[17] 0.000000 0.000000 NaN NaN NaN NaN NaN NaN
[25] NaN 0.100000 0.000000 0.000000 0.000000 0.000000 1.000000 NaN
[33] NaN NaN NaN NaN NaN NaN 0.133333 NaN
[41] NaN 0.000000 0.000000 0.000000 NaN NaN NaN NaN
[49] NaN
我正在尝试从pwr.t.test 中取出n 因素,并将这些因素中的每一个作为d 参数的输入。
我的尝试是最新的结果,坦率地说,我很难过...> lapply(aa,function(x) pwr.t.test(d=x,power=.8,sig.level=.05,type="one.sample",alternative="two.sided"))
带有以下错误消息:
Error in uniroot(function(n) eval(p.body) - power, c(2 + 1e-10, 1e+07)) :
f() values at end points not of opposite sign
对正确的方法有什么想法吗?
【问题讨论】:
-
您似乎做对了,但您确定该函数在值 0.000000 和 NaN 时会很好吗?
-
你是对的!它讨厌那些输入...看起来它只想要非零数字。