1
我有一個數組,其中包含一些實際上應該爲'0'的NAs。在數組中,將行中的NAs部分數據設置爲0
- 我認爲數據作爲 '行',例如[1,...,1]是一排,[1,,2]是另一種,[2,1]
- 一些此類[一個,, b]組合應該包含所有的NAs,並應保持原樣。
- 某些'行'至少包含一個非缺失值。在這種情況下,該行中的所有NA應該設置爲零。
例子:
x <- c(rep(NA,14),rep(NA,4),20,30,40,rep(NA,6),10,
rep(NA,7),rep(NA,4),20,30,40,rep(NA,6),10,rep(NA,7))
a1 <- array(x,dim=c(2,7,4))
a1[1,,]
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA 20 NA NA
[4,] NA 40 NA 10
[5,] NA NA NA NA
[6,] NA NA NA NA
[7,] NA NA 30 NA
應該是這樣的
a1[1,,]
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] 0 20 0 0
[4,] 0 40 0 10
[5,] NA NA NA NA
[6,] NA NA NA NA
[7,] 0 0 30 0
我已經使用函數嘗試和應用(),但沒有取得任何
set0 <- function(x) { if (sum(is.na(x)) < length(x)) { x[is.na(x)] <- 0 } }
工程很好,非常感謝! – Marianne
不用擔心!不是那麼容易的數組問題,我會推薦R中更友好的其他結構......但也許你絕對需要數組! –
這種情況下的數組在理解數據方面有很大的優勢,這些數據是每個受訪者的矩陣。 – Marianne