I have two data frames For simplicity:
X= V1 V2 V3 V4 V5 V6 samas4 samas5 samas6 samas4_father samas5_mother samas6_sibling samas4 samas5 samas6 samas4_father samas5_mother samas6_sibling samas4 samas5 samas6 samas4_father samas5_mother samas6_sibling Y= FID IID FAM01 samas4 FAM01 samas5 FAM01 samas6 I want to set to create a new IID in Y using V4 V5 V6 in X using an ifelse statement in a loop. I've used something like the following (after figuring out my factor problem): for(i in length(1:(2*nrow(X)))){ Y$IID1new <- ifelse((as.character(Y[,2]) == as.characterXl[,i]) & X$IID1new != '') , as.character(as.matrix(X[,(2*nrow(X)+i)])),'') } But of course this tends to overwrite. Is there an easy way to set up a loop to replace missing values? This didn't work either but not sure if its as easy as this: Y$IID1new <- ifelse((as.character(Y[,2]) == as.characterXl[,i]) & X$IID1new != '') , as.character(as.matrix(X[,(2*nrow(X)+i)])),'') for(i in length(2:(2*nrow(X)))){ ifelse((as.character(Y[,i]) == as.character(Xl[,i])), X[is.na(X$IID1new)] <- as.character(as.matrix(X[(2*nrow(X)+i)])),'') } Thanks! K. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.