[英]How to replace elements of a matrix with matching elements of another matrix
我需要編寫一個函數,該函數通過尺寸相似的另一個矩陣的相應元素來估算矩陣中的NA。 我認為將矩陣視為向量並對其進行重構可能更簡單,但是代碼仍然無法正常工作。 我嘗試了以下方法:
impute <-function(x,y){
x<-as.vector(x)
y<-as.vector(y)
for (i in 1:length(x)){
if (isTRUE(is.na(x[i])))
x[i]<-y[i]
}
}
我嘗試對兩個小矩陣運行該函數以跟蹤插補,結果矩陣為NULL
> M<-impute(A,B)
> M
NULL
這只是避免處理來自兩個矩陣的多個索引的替代方法。 歡迎使用有效且有效的代碼。
它們的尺寸完全相同嗎?
mat <- matrix(1:100, 10, 10)
mat[sample(1:100, 20)] <- NA
mat2 <- matrix(1:100, 10, 10)
inds <- is.na(mat)
mat[inds] <- mat2[inds]
您是否在尋找這個?
mm1[is.na(mm1)] <- mm2[is.na(mm1)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.