Hi, I am trying to display / print certain columns in my data frame that share certain condition (for example, part of the column name). I am using for loop, as follow:
# below is the sample data structure all.data <- data.frame( NUM_A = 1:5, NAME_A = c("Andy", "Andrew", "Angus", "Alex", "Argo"), NUM_B = 1:5, NAME_B = c(NA, "Barn", "Bolton", "Bravo", NA), NUM_C = 1:5, NAME_C = c("Candy", NA, "Cecil", "Crayon", "Corey"), NUM_D = 1:5, NAME_D = c("David", "Delta", NA, NA, "Dummy") ) col_names <- c("A", "B", "C", "D") > all.data NUM_A NAME_A NUM_B NAME_B NUM_C NAME_C NUM_D NAME_D 1 1 Andy 1 <NA> 1 Candy 1 David 2 2 Andrew 2 Barn 2 <NA> 2 Delta 3 3 Angus 3 Bolton 3 Cecil 3 <NA> 4 4 Alex 4 Bravo 4 Crayon 4 <NA> 5 5 Argo 5 <NA> 5 Corey 5 Dummy > Then for each col_names, I want to display the columns: for (each_name in col_names) { sub.data <- subset( all.data, !is.na( paste("NAME_", each_name, sep = '') ), select = c( paste("NUM_", each_name, sep = '') , paste("NAME_", each_name, sep = '') ) ) print(sub.data) } the "incorrect" result: NUM_A NAME_A 1 1 Andy 2 2 Andrew 3 3 Angus 4 4 Alex 5 5 Argo NUM_B NAME_B 1 1 <NA> 2 2 Barn 3 3 Bolton 4 4 Bravo 5 5 <NA> NUM_C NAME_C 1 1 Candy 2 2 <NA> 3 3 Cecil 4 4 Crayon 5 5 Corey NUM_D NAME_D 1 1 David 2 2 Delta 3 3 <NA> 4 4 <NA> 5 5 Dummy > What I want to achieve is that the result should only display the NUM and NAME that is not NA. Here, the NA can be NULL, or zero (or other specific values). the "correct" result: NUM_A NAME_A 1 1 Andy 2 2 Andrew 3 3 Angus 4 4 Alex 5 5 Argo NUM_B NAME_B 2 2 Barn 3 3 Bolton 4 4 Bravo NUM_C NAME_C 1 1 Candy 3 3 Cecil 4 4 Crayon 5 5 Corey NUM_D NAME_D 1 1 David 2 2 Delta 5 5 Dummy > I am guessing that I don't use the correct type on the following statement (within the subset in the loop): !is.na( paste("NAME_", each_name, sep = '') ) But then, I might be completely using a wrong approach. Any idea is definitely appreciated. Thank you, Ferry [[alternative HTML version deleted]] ______________________________________________ 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.