[R] Replacing NA s with the average

Admire Tarisirayi Chirume @tch|rume @end|ng |rom gm@||@com
Mon Oct 18 14:38:35 CEST 2021


Good day colleagues. Below is a csv file attached which i am using in my
> analysis.
>
>
>
> household.id <http://hh.id>
>
> hd17.perm
>
> hd17employ
>
> health.exp
>
> total.food.exp
>
> total.nfood.exp
>
> 1
>
> 2
>
> yes
>
> 1654
>
> 23654
>
> 23655
>
> 2
>
> 2
>
> yes
>
> NA
>
> NA
>
> 65984
>
> 3
>
> 6
>
> no
>
> 2547
>
> 123311
>
> 52416
>
> 4
>
> 8
>
> NA
>
> 2365
>
> 13648
>
> 12544
>
> 5
>
> 6
>
> NA
>
> 1254
>
> 36549
>
> 12365
>
> 6
>
> 8
>
> yes
>
> 1236
>
> 236541
>
> 26522
>
> 7
>
> 8
>
> no
>
> NA
>
> 13264
>
> 23698
>
>
>
>
>
> So I created a df using the above and its a csv file as follows
>
> wbpractice <- read.csv("world_practice.csv")
>
> Now i am doing data cleaning and trying to replace all missing values with
> the averages of the respective columns.
>
> the dimension of the actual dataset is;
>
> dim(wbpractice)
[1] 31998    6

I used the following script which i executed by i got some error messages

for(i in 1:ncol( wbpractice  )){
     wbpractice  [is.na( wbpractice  [,i]), i] <- mean( wbpractice  [,i],
na.rm = TRUE)
    }

Any help to replace all NAs with average values in my dataframe?



>
>>

	[[alternative HTML version deleted]]



More information about the R-help mailing list