In addition to which, the original question uses an incorrect way to reference columns in the data frame.
It should probably have been: newMyData <-MyData[!is.na(MyData$col1) | !is.na(MyData$col2) | !is.na(MyData$col3) | !is.na(MyData$col4) | !is.na(MyData$col5) , ] That is assuming that "col1", "col2", etc. are actually the column names. Otherwise, maybe this newMyData <-MyData[!is.na(MyData[,1]) | !is.na(MyData[,2] | !is.na(MyData[,3]) | !is.na(MyData[,4]) | !is.na(MyData[,5]) , ] Also, I don't know what you mean when you say you want it to "write in for loop". Do you want the new data frame printed at each iteration? In that case, try putting print(newMyData) inside the loop. -Don -- Don MacQueen Lawrence Livermore National Laboratory 7000 East Ave., L-627 Livermore, CA 94550 925-423-1062 Lab cell 925-724-7509 On 5/8/18, 5:25 AM, "R-help on behalf of Thierry Onkelinx" <r-help-boun...@r-project.org on behalf of thierry.onkel...@inbo.be> wrote: Dear Laura, It looks like you want to remove all rows for which each column is NA. You can to that with the code below. na.matrix <- is.na(MyData) all.na.row <- apply(na.matrix, 1, all) MyData[!all.na.row, ] Best regards, ir. Thierry Onkelinx Statisticus / Statistician Vlaamse Overheid / Government of Flanders INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE AND FOREST Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance thierry.onkel...@inbo.be Havenlaan 88 bus 73, 1000 Brussel www.inbo.be /////////////////////////////////////////////////////////////////////////////////////////// To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey /////////////////////////////////////////////////////////////////////////////////////////// 2018-05-08 13:57 GMT+02:00 Laura Ringienė <lauraringi...@gmail.com>: > Hello, > > I am a newbie in R and I have a problem. > I want this line: > > newMyData <-MyData[!(is.na(col1)) | !(is.na(col2)) | !(is.na(col3)) | !( > is.na(col4)) | !(is.na(col5)),] > > write in for loop. The number of col[number] may be different from 3 to 8 > > Is there any ideas? > > Thank you > Laura > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.