行列 m が与えられた場合、行/変数に対して t.test を実行し (平均がゼロでないかどうかをテストする)、各列が t.test$statistic および t.test$p.value などに対応する行列を取得するにはどうすればよいですか?行のために。一部の行には複数の NA があるため、同時に t.test が失敗しないことを確認したいと考えています。したがって、この場合、結果の行列の行は、t.test$statistic 列と t.test$p.value 列の両方で NA になります。以下のようなものを考えましたが、うまくいきません。最後に、マトリックスのリストでこれを行う必要がありますが、単一のマトリックスでこれを行うことができれば、マトリックスのリストでlapplyを使用できると考えています。ありがとう!
res <- apply(m, 1, function(x) {
u <- matrix(NA, nrow = nrow(m), ncol = 4, dimnames = list(
c(rownames(m)),
c("Stats", "P-values")
))
if(sum(!is.na(x)) > 1)
u[,1] <- t.test(x)$statistic
u[,2] <- t.test(x)$p.value
else NA
return(u)
}
)