[R] lapply, sapply

stefan.duke at gmail.com stefan.duke at gmail.com
Sat Aug 2 11:07:07 CEST 2008


Hello everybody,
I have problem with a lapply command, which rather proves that I don't
fully understand it.

I want to extract from a list that consists of dataframes, the length
of the first sequences from a given variable (its part of a simulation
exercises).

Below is code which does the job, but I think it should be possible to
make it more compact.

### Example Data
dat <-list()
dat[[1]] <- data.frame(matrix( rbinom(40, 1, .8),nrow=5))
dat[[2]] <- data.frame(matrix( rbinom(40, 1, .8),nrow=5))
####Code
x<-sapply(dat,"[",3)    #Extracting the vector
y<-lapply(x,rle)          #Counting the sequences which is returned as a list
z<-sapply(y,"[", 1)     #extracting the first element of the list of
sequence counts
final<-sapply(z,"[",1)   #extracting the first number, which gives the
length of the first sequence, which I want
final
###############



Thanks for your help,
Stefan



More information about the R-help mailing list