1

data.tableに多くのシミュレーション (およびその他の変数) があるとします。

data <- setDT(data.frame(sim1=c(1,1,1), sim2= c(2,2,2), sim3=c(3,3,3), 
sim4=c(4,4,4), sim5=c(5,5,5), index=c(2,2,2)))

   sim1 sim2 sim3 sim4 sim5 index
1:    1    2    3    4    5  2
2:    1    2    3    4    5  2
3:    1    2    3    4    5  2

インデックス列よりも高いシミュレーションの平均を計算したい:

data[, higher.than.index.ave := rowMeans(.SD[.SD > index]),  
         .SDcols = names(data[, grepl(paste(paste("sim", 1:5, sep=""), 
                                collapse = "|") , names(data)), with=FALSE])]

私は他の解決策も試しましたが、うまくいきません。そのようなタスクを実行する方法について何か提案はありますか?

4

2 に答える 2