テスト セル (AB テスト結果) ごとに 1 つのレコードを表す小さなレコードがdata.table
あり、各テスト セルを他のテスト セルと比較する列をさらにいくつか追加したいと考えています。つまり、追加する列の数は、問題の AB テストに含まれるテスト セルの数によって異なります。
私data.table
のように見えます:
Group Delta SD.diff
Control 0 0
Cell1 0.00200 0.001096139
Cell2 0.00196 0.001095797
Cell3 0.00210 0.001096992
Cell4 0.00160 0.001092716
そして、次の列を追加したいと思います(ここでは数字はゴミです):
Group v.Cell1 v.Cell2 v.Cell3 v.Cell4
Control 0.45 0.41 0.45 0.41
Cell1 0.50 0.58 0.48 0.66
Cell2 0.58 0.50 0.58 0.48
Cell3 0.48 0.58 0.50 0.70
Cell4 0.66 0.48 0.70 0.50
それが道だと確信していdo.call
ますが、ある do.call を別の内部に埋め込んでスクリプトを生成する方法がわかりません...そしてスクリプトを実行する方法がわかりません(合計20行) . 私が現在最も近いのは:
a <- do.call("paste",c("test.1.results <- mutate(test.1.results, P.Better.",list(unlist(test.1.results[,Group]))," = pnorm(Delta, test.1.results['",list(unlist(test.1.results[,Group])),"'][,Delta], SD.diff,lower.tail=TRUE))", sep=""))
次のような 5 つのスクリプト行が生成されます。
test.1.results <- mutate(test.1.results, P.Better.Cell2 = pnorm(Delta, test.1.results['Cell2'][,Delta], SD.diff,lower.tail=TRUE))
1つのテストセルの結果をそれ自体と比較するだけです.0.50の結果(偶然による違い)。それぞれのテストを互いに比較する必要があるため、これまで何の役にも立ちません。
これでどこに行くべきかわからない。