這應該是非常基本的,但我不明白爲什麼會發生。有人可以幫忙嗎?這是簡單的代碼與示例「數據」:
applyDirichletPrior <- function (row_vector) {
row_vector_added <- row_vector + min (row_vector)
row_vector_result <- row_vector_added/sum(row_vector_added)
}
data <- matrix(c(1,2,3,4,5,6,7,8), nrow=2, ncol=4)
applied <- apply(data, 1, function(x) applyDirichletPrior(x))
輸出被給定爲:
> applied
[,1] [,2]
[1,] 0.1 0.1428571
[2,] 0.2 0.2142857
[3,] 0.3 0.2857143
[4,] 0.4 0.3571429
儘管我期望在相同的格式作爲輸入數據的輸出,如:
> applied
[,1] [,2] [,3] [,4]
[1,] 0.1000000 0.2000000 0.3000000 0.4000000
[2,] 0.1428571 0.2142857 0.2857143 0.3571429
爲什麼和在什麼階段期間apply
被轉置怎麼回事?
參見https://stat.ethz.ch/pipermail/r-help/2006-January/086064.html和討論在http://www.jstatsoft.org/v40/i01 – hadley