3
我定義2個數值向量如下:如何在基於下標的元素中逐個分配值?
> x <- c(1,2)
> y <- c(1,2)
現在我想有由例如填充2×2矩陣加入x
並根據其指數y
的元素,所以最終的結果應該是這樣的:
[,1] [,2]
[1,] 2 3
[2,] 3 4
要使用嵌套的for循環實現,這是小事,但不會執行上非常大的數據集。嘗試使用例如
> z <- matrix(nrow=2, ncol=2)
> z[x,y] <- x + y
失敗,因爲+
運營商做分配給z
之前添加x
和y
作爲載體。使用明確的下標與指數i
和j
失敗,以及:
> i <- 1:2
> j <- 1:2
> z[i,j] <- x[i] + y[j]
> z
[,1] [,2]
[1,] 2 2
[2,] 4 4
有沒有辦法達到我想要使用什麼矢量/標運算,還是隻能以嵌套的for循環或的應用功能之一?
優秀的,我不知道,你可以用外()與_any_功能。只需檢查它是否比嵌套for循環運行速度快100倍(使用簡單的元素添加)。 – 2013-02-26 16:28:24