Tôi có một bảng có hai cột: cho dù bạn bị bệnh (H01) và số ngày bị bệnh (H03). Tuy nhiên, số ngày ốm là NA nếu H01 == false, và tôi muốn đặt nó là 0. Khi tôi làm điều này:Khi cố gắng thay thế giá trị, "giá trị bị thiếu không được phép trong phân đoạn chỉ số của khung dữ liệu"
test <- pe94.person[pe94.person$H01 == 12,]
test$H03 <- 0
Nó hoạt động tốt. Tuy nhiên, tôi muốn thay thế các giá trị trong dataframe ban đầu. Này, tuy nhiên, thất bại:
pe94.person[pe94.person$H01 == 12,]$H03 <- 0
Nó trả về:
> 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
Bất cứ ý tưởng tại sao điều này là gì? Đối với những gì nó có giá trị, đây là một bảng tần số:
> table(pe94.person[pe94.person$H01 == 12,]$H03)
2 3 5 28
3 1 1 1
M ost có khả năng vì bạn có 'NA' trong cột 'H01'. Lưu ý đối số 'useNA' vào bảng mà bạn chưa sử dụng. Ngoài ra, nó có thể tốt hơn (theo phong cách) để tham khảo cột bên trong '[' thay vì sử dụng '$'. – joran
Điều đó có ý nghĩa; Tôi đã tìm được nhiều. Làm thế nào tôi có thể thay thế các Quốc hội? Xin lỗi, tôi không có nhiều kinh nghiệm với R. –
'pe94.person $ H01 [is.na (p94.person $ H01)] <- value' có thể. – joran