[R] Counting observations split by a factor when there are NAs in the data
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Mon Jul 10 21:47:06 CEST 2006
"Jenifer Larson-Hall" <jenifer at unt.edu> writes:
> I am a very novice R user, a social scientist (linguist) who is trying
> to learn to use R after being very familiar with SPSS. Please be kind!
>
> My concern:
> I cannot figure out a way to get an accurate count of observations of
> one column of data split by a factor when there are NAs in the data.
>
> I know how to use commands like tapply and summaryBy to obtain other
> summary statistics I am interested in, such as the following:
> tapply(RLWTEST, list(STATUS), mean, na.rm=T)
> summaryBy(RLWTEST~STATUS, data=lh.forgotten, FUN=c(mean, sd, min, max),
> na.rm=T)
>
> However, with tapply I know I cannot use length to get a count where
> there are NAs. summaryBy appears to work the same way. I do know how to
> get a count of the entire column using sum:
> sum(!is.na(lh.forgotten$RLWTEST))
>
> However, this does not give me a count split up by my factor (STATUS). I
> have looked through Daalgard (2002) and Verzani (2005), and have
^^^^^^^^
Ahem!....
> searched the help files, but with no luck.
How about
with(lh.forgotten,
tapply(!is.na(RLWTEST), STATUS, sum)
)
or maybe just
table(STATUS[!is.na(RLWTEST)])
> Thank you in advance for your help. I love R and am interested in making
> it more accessible to social scientist types like me. I know it can do
> everything SPSS can and more, but sometimes the very simplest things
> seem to be a lot harder in R.
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list