[R] How to convert list elements to data.frames or vectors?

Lothar Botelho-Machado r-help at botelho-machado.de
Tue Aug 8 12:59:50 CEST 2006


Dear R mailing-list comunity!



I'm currently trying to implement an R method. I have two sets of data
that I convert into a data.frame each. These data.frames I'd like to
append to a list:

# generate a list
listTable<-list()

# add one set of data
x<-1000 ;y<-1 ;listTable[[length(listTable) + 1]] <-
data.frame(matrix(rnorm(x*y), nrow=y)); rm(x); rm(y)

# add another set of data (same command)
x<-1000 ;y<-1 ;listTable[[length(listTable) + 1]] <-
data.frame(matrix(rnorm(x*y), nrow=y)); rm(x); rm(y)

My objective is to performed some hypothesis tests on the data. To test
if that works out correctly, I tried first using an unpaired t-test
(therfore the data.frames consist only of one row each in the example).

# alternative, var.equal and conf.level shall
# be arguments of my method as well (alternative="two.sided",
# var.equal=TRUE, conf.level=0.95)
t.test(listTable[[1]][1,], listTable[[2]][1,], alternative=alternative,
paired=FALSE, var.equal=var.equal, conf.level=conf.level)

And an F-test, throwing an error, like there were not enough
observations in the x vector of the test's input.

# The F-test (ratio=1, alternative="two.sided", conf.level=0.95)
var.test(listTable[[1]][1,], listTable[[2]][1,], ratio=ratio,
alternative=alternative, conf.level=conf.level)

I figured out, those tests work perfectly, using vectors instead of my
list elements with the same argument values, hence there should be no
problem with the parameters, I guess.

So, my problems would be the list elements like "listTable[[1]][1,]".
They are no vectors but "list"s themselves containing each only one
element?! I tried several things without any success to change that.
I need to have a list like structure and couldn't find a way how to
convert the list elements back to data.frames or vectors.


Thus I now have a bunch of basic questions on R:

1. If I put a data.frame into a list, how can I get it back as data.frame?

2. How can I get a single row of a data.frame, stored in a list, as
vector and not as list of elements?

3. Is a "list" at all the correct structure for my deeds?

4. Why is this only a problem for the F-test and it seems to be no
problem for the t-test?


Regards and TIA,
Lothar Rubusch



More information about the R-help mailing list