對於輸入向量執行下面的函數時,我發現結果不一致。看來在使用向量化輸入時,輸出列會重新排序。有沒有更好的方法來矢量化這個功能?陣列函數對輸出列進行錯誤重新排序
func <- function(t, alpha) { exp(matrix(-rep(t,7), ncol=7)*1:7*alpha) }
# correct
rbind(func(3, 0.02), func(4, 0.02))
#incorrect
func(c(3, 4), 0.02)
> rbind(func(3, 0.02), func(4, 0.02))
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 0.9417645 0.8869204 0.8352702 0.7866279 0.7408182 0.6976763 0.6570468
[2,] 0.9231163 0.8521438 0.7866279 0.7261490 0.6703200 0.6187834 0.5712091
> func(c(3, 4), 0.02)
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 0.9417645 0.8352702 0.7408182 0.6570468 0.8869204 0.7866279 0.6976763
[2,] 0.8521438 0.7261490 0.6187834 0.9231163 0.7866279 0.6703200 0.5712091
感謝您的回答。我也很欣賞列主要與主要排列順序的細節(我正要在維基百科上查看)。我認爲R按預期工作,我只需要更深入地理解邏輯。 – user338714 2012-04-16 20:38:56