Ich habe diese Matrix:ersetzen NA einer Matrix mit einigen Werten
mat=matrix(c(1,1,1,2,2,2,3,4,NA,
4,4,4,4,4,3,5,6,4,
3,3,5,5,6,8,0,9,NA,
1,1,1,1,1,4,5,6,1),nrow=4,byrow=TRUE)
print(mat)
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
# [1,] 1 1 1 2 2 2 3 4 NA
# [2,] 4 4 4 4 4 3 5 6 4
# [3,] 3 3 5 5 6 8 0 9 NA
# [4,] 1 1 1 1 1 4 5 6 1
ich sollte die NA-Werte mit anderen Werten, auf diese Weise ersetzen:
ich eine andere Matrix haben:
mat2=matrix(c(24,1,3,2, 4,4,4,4, 3,2,2,5, 1,3,5,1),nrow=4,byrow=TRUE)
[,1] [,2] [,3] [,4]
[1,] 24 1 3 2
[2,] 4 4 4 4
[3,] 3 2 2 5
[4,] 1 3 5 1
und die Untergruppe mit dem Index der Reihen mit NA
der ersten Matrix „mat“:
subset=c(1,3)
Ich mag die NA
der Matrix mit der COLNAMES des Wertes der Zeile mit dem Maximalwert replcace.
in diesem Fall wird I "1" für die erste Zeile und "4" für die dritte, ich kümmern sich nicht um Zeile 2 und 4.
Siehe "max.col", z.B. [hier] (http://stackoverflow.com/questions/8220343/is-there-something-like-a-pmax-index) - 'max.col (mat2 [Teilmenge,]," zuerst ")' –
Ihr 'mat' ist eine Zeichenmatrix. Verwenden Sie "NA" ohne die Anführungszeichen für NA-Werte. – Roland