I have a data frame with NAs and I want to replace the NAs with row means
c1 = c(1,2,3,NA) c2 = c(3,1,NA,3) c3 = c(2,1,3,1) df = data.frame(c1,c2,c3) >
Another option is na.aggregate from library(zoo) after transposing the dataset
na.aggregate
library(zoo)
library(zoo) df[] <- t(na.aggregate(t(df))) df # c1 c2 c3 #1 1 3 2 #2 2 1 1 #3 3 3 3 #4 2 3 1