Eksik değerler türlerini belirtmek istiyorum. Farklı türlerde kayıplara sahip veriye sahibim ve bu değerleri R'de eksik olarak kodlamaya çalışıyorum ama aralarında hala ayrım yapabileceğim bir çözüm arıyorum. Farklı türlerde eksik değerleri (NA) belirtme
, ben şöyle bazı verileri, şimdi iki tablo yaparsanızset.seed(667)
df <- data.frame(a = sample(c("Don't know/Not sure","Unknown","Refused","Blue", "Red", "Green"), 20, rep=TRUE), b = sample(c(1, 2, 3, 77, 88, 99), 10, rep=TRUE), f = round(rnorm(n=10, mean=.90, sd=.08), digits = 2), g = sample(c("C","M","Y","K"), 10, rep=TRUE)); df
# a b f g
# 1 Unknown 2 0.78 M
# 2 Refused 2 0.87 M
# 3 Red 77 0.82 Y
# 4 Red 99 0.78 Y
# 5 Green 77 0.97 M
# 6 Green 3 0.99 K
# 7 Red 3 0.99 Y
# 8 Green 88 0.84 C
# 9 Unknown 99 1.08 M
# 10 Refused 99 0.81 C
# 11 Blue 2 0.78 M
# 12 Green 2 0.87 M
# 13 Blue 77 0.82 Y
# 14 Don't know/Not sure 99 0.78 Y
# 15 Unknown 77 0.97 M
# 16 Refused 3 0.99 K
# 17 Blue 3 0.99 Y
# 18 Green 88 0.84 C
# 19 Refused 99 1.08 M
# 20 Red 99 0.81 C
benim eksik değerleri ("Don't know/Not sure","Unknown","Refused"
ve 77, 88, 99
) düzenli veri olarak dahil edilmiştir sahip
table(df$a,df$g)
# C K M Y
# Blue 0 0 1 2
# Don't know/Not sure 0 0 0 1
# Green 2 1 2 0
# Red 1 0 0 3
# Refused 1 1 2 0
# Unknown 0 0 3 0
ve
Saytable(df$b,df$g)
# C K M Y
# 2 0 0 4 0
# 3 0 2 0 2
# 77 0 0 2 2
# 88 2 0 0 0
# 99 2 0 2 2
Şimdi üç faktör düzeyinikodlayın <NA>
is.na(df[,c("a")]) <- df[,c("a")]=="Don't know/Not sure"|df[,c("a")]=="Unknown"|df[,c("a")]=="Refused"
içineve kaldırmak boş seviyeleri
df$a <- factor(df$a)
ve aynı
77, 88,
ve
99
is.na(df) <- df=="77"|df=="88"|df=="99"
table(df$a, df$g, useNA = "always")
# C K M Y <NA>
# Blue 0 0 1 2 0
# Green 2 1 2 0 0
# Red 1 0 0 3 0
# <NA> 1 1 5 1 0
table(df$b,df$g, useNA = "always")
# C K M Y <NA>
# 2 0 0 4 0 0
# 3 0 2 0 2 0
# <NA> 4 0 4 4 0
Şimdi eksik kategoriler NA
içine yeniden kodlanmasına olan sayısal değerler ile yapılır ancak hepsi bir araya toplanmışlar. Bir şeyi eksik olarak çözmek için bir yol var mı, ancak orijinal değerlerini koru? R'nin "Don't know/Not sure","Unknown","Refused"
ve 77, 88, 99
numaralı iş parçacığını eksik olarak görmesini istiyorum, ancak yine de değişkendeki bilgilere sahip olmak istiyorum.
Değer eksikse true değerini koruyacak olan 'df' adlı bir başka sütun eklenmeye ne dersiniz? veya 'isNA' sütunu doğrudan 'NA' ve' 0' tutabilir. Kodunuzun geri kalanına bağlı. – Nishanth
Bu uygun bir şekilde çalışır, ancak daha fazla bir çözüm, daha sonra, işaret ettiğim gibi, kodumun geri kalanıyla * sorunsuz bir şekilde * çalışacak bir çözümdür. Bir örnekte göstermek ister misiniz? –
Kodun geri kalanındaki etkiyi tahmin etmek zordur. belki de "DOĞRU Bilmiyorum/Emin değilim", "Bilinmeyen", "Reddedildi" için "TRUE" değerini döndüren "my.is.na" ifadesini kullanabileceğiniz kendi "my.table" ı yazabilir misiniz? – Nishanth