Try: > ## Number of NAs in columns 6-10. > colSums(is.na(data[6:10])) Col6 Col7 Col8 Col9 Col10 1 1 1 1 0 > > ## Number of NAs in each row of columns 6-10. > rowSums(is.na(data[6:10])) 1 2 2 2 > > ## Sums of rows 1-5 omitting corresponding NAs in cols 6-10. > rowSums(data[,1:5] * !is.na(data[,6:10])) 1 2 7 9
If all entries are numeric, it'd be easier to use matrices instead of data frames. HTH, Andy > From: Christoph Scherber > > Dear R users, > > Iīve got a simple question but somehow I canīt find the solution: > > I have a data frame with columns 1-5 containing one set of integer > values, and columns 6-10 containing another set of integer values. > Columns 6-10 contain NAīs at some places. > > I now want to calculate > (1) the number of values in each row of columns 6-10 that were NAīs > (2) the sum of all values on columns 1-5 for which there were > no missing > values in the corresponding cells of columns 6-10. > > > Example: (letīs call the data frame "data") > > Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9 Col10 > 1 2 5 2 3 NA 5 NA 1 4 > 3 1 4 5 2 6 NA 4 NA 1 > > The result would then be (for the first row) > (1) "There were 2 NAīs in columns 6-10." > (2) The mean of Columns 1-5 was 2+2+3=7" (because there were > NAīs in the > 1st and 3rd position in rows 6-10) > > So far, I know how to calculate the rowSums for the data.frame, but I > donīt know how to condition these on the values of columns 6-10 > > rowSums(data[,1:5]) #thatīs straightforward > apply(data[,6:19],1,function(x)sum(is.na(x))) #this also works fine > > But I donīt know how to select just the desired values of columns 1-5 > (as described above) > > > Can anyone help me? Thanks a lot in advance! > > Best regards > Christoph > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > > > ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html