[R] Replace NaN with value from the same row

Jonathan Reardon jonathanreardon at outlook.com
Sun Oct 18 19:48:14 CEST 2015


Hi everyone,
A simple question, but i cannot figure this out.

I have a data-frame with 4 columns (onset, offset, outcome, mean):
 onset offset outcome   mean8   72071  72503       1  7244615 142598 143030       1    NaN30 293729 294161       1 294080
For each 'NaN' in the mean column, i want to replace that NaN with the 'offset' value in the same row.
Intended outcome: 
 onset offset outcome   mean8   72071  72503       1  7244615 142598 143030       1    14303030 293729 294161       1 294080
I have tried:
 df$mean <- replace(df$mean, is.na(df$mean), df$offset)
but i get the error message: 'number of items to replace is not a multiple of replacement length'. I'm assuming because this is trying to insert the whole 'offset' column into my one NaN cell. Is this a correct interpretation of the error message?
Can anyone tell me how to replace any mean row NaN's  with the offset value from that very same row?
I don't want to use any pasting etc as this needs to be used as part of a function working over a large dataset than the one shown here.
Cheers
Jonathan 		 	   		  
	[[alternative HTML version deleted]]



More information about the R-help mailing list