r - Filling in NAs with corresponding row values in another column -
i using rstudio. have simple data frame looks following:
df <- id tad tnom 1 0 0 1 0.3 na 1 0.6 0.5 1 1 na i want code fills in na tnom corresponding row value in tad column.
the result should be:
df <- id tad tnom 1 0 0 1 0.3 0.3 1 0.6 0.5 1 1 1
example:
df <- data.frame(id=c(1,1,1,1), tad=c(0,0.3,0.6,1), tnom=c(0,na,0.5,na)) df # id tad tnom # 1 1 0.0 0.0 # 2 1 0.3 na # 3 1 0.6 0.5 # 4 1 1.0 na using ifelse(condition,true,false)
df$tnom<-ifelse(is.na(df$tnom),df$tad,df$tnom) or using with(data, expression)
df$tnom<-with(df,ifelse(is.na(tnom),tad,tnom)) or reassigning values based on is.na()
df$tnom[is.na(df$tnom)] <- df$tad[is.na(df$tnom)] all 3 gives:
df # id tad tnom # 1 1 0.0 0.0 # 2 1 0.3 0.3 # 3 1 0.6 0.5 # 4 1 1.0 1.0
Comments
Post a Comment