Tôi muốn thay thế các NA có trong cột của DATA TABLE bằng giá trị trung bình của cùng một cột. Tôi đang làm như sau. Nhưng nó không hoạt động.Thay thế các NA bằng giá trị trung bình của cùng một cột dữ liệu. Có thể
ww <- data.table(iris)
ww <- ww[1:5 , ]
ww[1,1] <- NA
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1: NA 3.5 1.4 0.2 setosa
2: 4.9 3.0 1.4 0.2 setosa
3: 4.7 3.2 1.3 0.2 setosa
4: 4.6 3.1 1.5 0.2 setosa
5: 5.0 3.6 1.4 0.2 setosa
ww[is.na(Sepal.Length) , Sepal.Length:= mean(Sepal.Length, na.rm = T)]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1: NaN 3.5 1.4 0.2 setosa
2: 4.9 3.0 1.4 0.2 setosa
3: 4.7 3.2 1.3 0.2 setosa
4: 4.6 3.1 1.5 0.2 setosa
5: 5.0 3.6 1.4 0.2 setosa
Tại sao tôi nhận NaN thay cho NA khi giá trị trung bình của các giá trị còn lại (4.9, 4.7, 4.6, 5.0)?
Thay thế của việc đạt được điều này trong trường hợp có điều gì sai với cú pháp này?
Tôi muốn cú pháp cho bảng dữ liệu.
Vấn đề là bạn đang Subsetting dataset đầu tiên, sau đó áp dụng một hoạt động để các 'Sepal.Length' cột, trong đó chỉ chứa một 'NA' duy nhất tại thời điểm này. –
@AkhilNair không giúp bạn. Bạn có thể vui lòng đưa ra một ví dụ? – user3664020
@RHertel giải pháp của bạn đang thay thế toàn bộ cột không chỉ NA. – user3664020