0
非常簡單的問題,對於像我這樣的新手來說非常困難。r誤差中的算術運算:較長的對象長度不是較短的對象長度的倍數
x <- c(1,2,3,4)
y <- c(1,2,3)
對象長度不同。所以我不能表演,讓我們說,z < - x + y
什麼是最好的方法來處理不同物體長度的arithemetic。添加一個0?
非常簡單的問題,對於像我這樣的新手來說非常困難。r誤差中的算術運算:較長的對象長度不是較短的對象長度的倍數
x <- c(1,2,3,4)
y <- c(1,2,3)
對象長度不同。所以我不能表演,讓我們說,z < - x + y
什麼是最好的方法來處理不同物體長度的arithemetic。添加一個0?
要做到這一點編程,你可以首先把矢量放在一個命名向量,我們可以運行一個分組功能。
z <- setNames(c(x, y), c(seq_along(x), seq_along(y)))
# 1 2 3 4 1 2 3
# 1 2 3 4 1 2 3
現在我們可以爲和運行分組功能:
unname(tapply(z, names(z), sum))
# [1] 2 4 6 4
*您可以*實施z < - X + Y。較短的矢量元素將被回收。你會得到一個警告,而不是一個錯誤。參見'?算術'。問題是你爲什麼要這麼做? –