Bir veri çerçevem var ve bazı sütunlarda NA
değerleri var.
Bu NA
değerlerini sıfırlarla nasıl değiştirebilirim?
gsk3 cevabındaki yorumuma bakın. Basit bir örnek:
> m <- matrix(sample(c(NA, 1:10), 100, replace = TRUE), 10)
> d <- as.data.frame(m)
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 4 3 NA 3 7 6 6 10 6 5
2 9 8 9 5 10 NA 2 1 7 2
3 1 1 6 3 6 NA 1 4 1 6
4 NA 4 NA 7 10 2 NA 4 1 8
5 1 2 4 NA 2 6 2 6 7 4
6 NA 3 NA NA 10 2 1 10 8 4
7 4 4 9 10 9 8 9 4 10 NA
8 5 8 3 2 1 4 5 9 4 7
9 3 9 10 1 9 9 10 5 3 3
10 4 2 2 5 NA 9 7 2 5 5
> d[is.na(d)] <- 0
> d
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 4 3 0 3 7 6 6 10 6 5
2 9 8 9 5 10 0 2 1 7 2
3 1 1 6 3 6 0 1 4 1 6
4 0 4 0 7 10 2 0 4 1 8
5 1 2 4 0 2 6 2 6 7 4
6 0 3 0 0 10 2 1 10 8 4
7 4 4 9 10 9 8 9 4 10 0
8 5 8 3 2 1 4 5 9 4 7
9 3 9 10 1 9 9 10 5 3 3
10 4 2 2 5 0 9 7 2 5 5
Uygulamaya gerek yok. =)
EDIT
Ayrıca norm
paketine de bir göz atmalısınız. Kayıp veri analizi için birçok güzel özelliğe sahiptir. =)
Tek bir vektör için:
x <- c(1,2,NA,4,5)
x[is.na(x)] <- 0
Bir data.frame için, yukarıdakilerden bir fonksiyon oluşturun ve ardından bunu sütunlara uygulayın
.
Lütfen bir dahaki sefere burada detaylandırıldığı gibi tekrarlanabilir bir örnek sunun:
https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example
replace()` işlevini kullanabilirsiniz
Örneğin:
> x <- c(-1,0,1,0,NA,0,1,1)
> x1 <- replace(x,5,1)
> x1
[1] -1 0 1 0 1 0 1 1
> x1 <- replace(x,5,mean(x,na.rm=T))
> x1
[1] -1.00 0.00 1.00 0.00 0.29 0.00 1.00 1.00