Sadece anlamıyorum is.na()
fonksiyonunun aşağıdaki davranışını keşfetti:Neden .na() argümanını değiştiriyor?
df <- data.frame(a = 5:1, b = "text")
df
## a b
## 1 5 text
## 2 4 text
## 3 3 text
## 4 2 text
## 5 1 text
is.na(df)
## a b
## [1,] FALSE FALSE
## [2,] FALSE FALSE
## [3,] FALSE FALSE
## [4,] FALSE FALSE
## [5,] FALSE FALSE
is.na(df) <- "0"
df
## a b 0
## 1 5 text NA
## 2 4 text NA
## 3 3 text NA
## 4 2 text NA
## 5 1 text NA
onun argüman değiştirmek is.na()
yapar Neden (ve bu durumda verilere fazladan bir sütun ekler
Sorum çerçeve)? Bu durumda, davranışı tüm örneklerde FALSE
olduğu için, davranışı çok şaşırtıcı (veya en azından beklenmedik) görünüyor.
NB
Bu soru alt küme oluşturma ve veri çerçeve içinde NA
değerlerini değiştirme konusunda değil - O (df[is.na(df)] <- "0"
) nasıl yapılacağını biliyorum. Bu soru, is.na
işlevinin davranışı hakkında! Neden bir is.something
öğesinin ataması argümanın kendisini değiştiriyor? Bu beklenmedik bir durumdur.
Bu mantıksal değişkenleri dizin başvurusu olarak kullanmanız gerekir, yani 'df [is.na (df)] <- 0' – Sotos
@Sotos: Lütfen yorumuma bakın. – vonjd
@vonjd Yorumunuzu gördüm, ancak amacım, NA değerleri olsa bile atamanızın çalışmadığıdır; yani df $ a [3] <- NA; is.na (df) <- "0" ' – akrun