I see. So apply() first changes the dataframe to a matrix, which made it a matrix of text values, then mean made no sense for any column, so I got all NA's.
Thanks, Peter, Jim On 13 Jun 2005, Peter Dalgaard wrote: > Jim Robison-Cox <[EMAIL PROTECTED]> writes: > > > Summary: > > If I have a data frame or a matrix where one entire column is NA's, > > mean(x, na.rm=T) works on that column, returning NaN, but fails using > > apply, in that apply returns NA for ALL columns. > > lapply works fine on the data frame. > > > > If you wonder why I'm building data frames with columns that could be > > all missing -- they arise as output of a simulation. The fact that the > > entire column is missing is informative in itself. > > > > > > I do wonder if this is a bug. > > It isn't... > > Cutting a long story short: > > > testcase <- data.frame( x = 1:3, y = rep(NA,3)) > > as.matrix(testcase) > x y > 1 "1" NA > 2 "2" NA > 3 "3" NA > > testcase <- data.frame( x = 1:3, y = as.numeric(rep(NA,3))) > > as.matrix(testcase) > x y > 1 1 NA > 2 2 NA > 3 3 NA > > apply(testcase,2,mean,na.rm=T) > x y > 2 NaN > > > Jim Robison-Cox ____________ Department of Math Sciences | | phone: (406)994-5340 2-214 Wilson Hall \ BZN, MT | FAX: (406)994-1789 Montana State University | *_______| Bozeman, MT 59717-2400 \_| e-mail: [EMAIL PROTECTED] ______________________________________________ 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