[R] Replace NAs in one column with data from another column

Jakob Hedegaard Jakob.Hedegaard at agrsci.dk
Wed Sep 8 20:17:31 CEST 2010


Hi list,

I have a data frame (m) with 169221 rows and 10 columns and would like to make a new column containing the content of column 3 but replace the NAs in column 3 with the data in column 1 (from the same row as the NA in column 3). Column 1 has data in all rows.

My first attempt was:

for (i in 1:169221){
if (is.na(m[i,3])==TRUE){
m[i,11] <- as.character(m[i,1])}
else{
m[i,11] <- as.character(m[i,3])}
}

Works - but takes too long time.
I would appreciate alternative solutions.

Best regards, Jakob



More information about the R-help mailing list