[R] sapply problem
Joerg van den Hoff
j.van_den_hoff at fz-rossendorf.de
Thu Dec 14 14:30:01 CET 2006
I have encountered the following problem: I need to extract from
a list of lists equally named compenents who happen to be 'one row'
data frames. a trivial example would be:
a <- list(list(
df = data.frame(A = 1, B = 2, C = 3)), list(df = data.frame(A = 4,B = 5,C = 6)))
I want the extracted compenents to fill up a matrix or data frame row by row.
the obvious thing to do seems:
b <- sapply(a, "[[", "df")
b <- t(b)
now `b' looks all right:
b
class(b)
but it turns out that all elements in this matrix are one element lists:
class(b[1,1])
which prevents any further standard processing of `b' (like `colMeans', e.g.)
question 1: is their a straightforward way to enforce that `b' contains
simple numbers as elements right from the start (instead of something like
apply(b, 1:2, "class<-", "numeric") afterwards)?
question 2: should not sapply do this further 'simplification' anyway in a situation
like this (matrix elements turn out to be one-element lists)?
regards
joerg
More information about the R-help
mailing list