0

私は次のものをに渡そうとしていますpwr.t.test

> twelve
       fail sampsize     sd
1  0.047619       21 0.9759
2  0.000000       28 0.0000
3  0.000000        1 0.0000
4  0.000000       13 0.0000
5  0.000000        1 0.0000
6  0.000000        1 0.0000
7  0.000000        1 0.0000
8  0.000000        1 0.0000
9  0.000000        5 0.0000
10 0.000000        7 0.0000
11 0.100000       20 1.3416
12 0.000000        1 0.0000
13 0.000000        2 0.0000
14 0.000000        9 0.0000
15 0.000000       10 0.0000
16 1.000000        3 0.0000
17 0.133333       30 1.8619
18 0.000000        1 0.0000
19 0.000000        6 0.0000
20 0.000000       11 0.0000

fail/sampleへの引数として取得したいと思いますpwr.t.test

これを無駄に実装する方法は次のとおりです。

powertest<-function(x,y) 

{pwr.t.test(d=x/y,power=.8,sig.level=.05,type="one.sample",alternative="two.sided")}
twelvelist<-list(twelve$fail,twelve$sd)
mapply(powertest, twelvelist)
Error in x/y : 'y' is missing

以前はlapplyで運が良かったのですが、それは単一のベクトル (データフレームの 2 つの列ではありません) を使用しただけでした。

これは、家族ddplyのメンバーの 1 人と一緒に行うのが簡単であることを私は知っています。apply

ありがとうございました。

4

1 に答える 1

3

ブロッコリー、試してみてください:

with(twelve, mapply(powertest, fail, samplesize))

しかし、実際には 2 つの変数が必要ではなく、実際には 2 つの変数の比率だけが必要な場合は、次のように簡単に行うことができます。

with(twelve, sapply(fail / samplesize, pwr.t.test, power=.8, sig.level=.05, ...))  # replace ... with actual arguments

私はこの b/c をテストしていません。使用している関数がどこから来ているのかわからないので、少し微調整する必要があるかもしれません。

于 2014-03-03T19:21:03.433 に答える