Ich habe eine Tabelle mit zwei Spalten: ob Sie krank waren (H01) und die Anzahl der Tage krank (H03). Allerdings ist die Anzahl der Tage krank NA, wenn H01 == false, und ich würde es auf 0 setzen wie wenn ich dies tun:Beim Versuch, Werte zu ersetzen, sind "fehlende Werte in subskribierten Zuweisungen von Datenrahmen nicht erlaubt"
test <- pe94.person[pe94.person$H01 == 12,]
test$H03 <- 0
Es funktioniert gut. Ich möchte jedoch die Werte im ursprünglichen Datenrahmen ersetzen. Dies ist jedoch nicht:
pe94.person[pe94.person$H01 == 12,]$H03 <- 0
Es gibt:
> pe94.person[pe94.person$H01 == 12,]$H03 <- 0
Error in `[<-.data.frame`(`*tmp*`, pe94.person$H01 == 12, , value = list(:
missing values are not allowed in subscripted assignments of data frames
Jede Idee, warum das so ist? Für das, was es wert ist, ist hier eine Frequenztabelle:
> table(pe94.person[pe94.person$H01 == 12,]$H03)
2 3 5 28
3 1 1 1
M wahrscheinlich, weil Sie 'NA' in der Spalte 'H01' haben. Beachten Sie das 'useNA'-Argument für die Tabelle, die Sie nicht verwendet haben. Außerdem ist es wahrscheinlich (stilistischer) besser, die Spalte innerhalb von '[' zu referenzieren als mit '$'. – joran
Das macht Sinn; Ich dachte mir so viel aus. Wie würde ich die NA ersetzen? Sorry, ich habe nicht viel Erfahrung mit R. –
'pe94.person $ H01 [is.na (p94.person $ H01)] <- Wert wahrscheinlich. – joran