Re: [R] 2 simple questions

From: Uwe Ligges <ligges_at_statistik.uni-dortmund.de>
Date: Sat 07 May 2005 - 01:42:30 EST

sms13+@pitt.edu wrote:

> Please excuse what I'm sure are very easy questions but I'm relatively
> new to the R environment.
> How can I view a range of list elements, but not all. e.g., I had a
> matrix of patients and then split them out by patient id. I know I can
> do patlist[[1]] to see the first one, but how can I view, say, the first
> ten patients?

Use vector indexing on patlist such as

   patlist[1:10]
which return a list of the first 10 elements. Please read the docs on object indexing.

> My other question is how to count how many patients have a record in
> which a certain condition holds. E.g., I was trying something like this
> to get a count:
> ctr<-0
> temp<-lapply(mylist, function(x){is.na(x$date1[1]) & !is.na(x$date2[1]))
> ctr<-ctr+1})

No, lapply is NOT a loop, instead think vectorized:

   ## at first look at a logical vector, where the condition holds:    temp <- sapply(mylist, function(x)

       (is.na(x$date1[1]) & !is.na(x$date2[1])))    ctr <- sum(temp) # and sum that vector

Uwe Ligges

> But I don't think that's working correctly.
>
> Thanks,
> Steven
>
> ______________________________________________
> 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 Received on Sat May 07 02:04:38 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:37 EST