[R] types of vectors / lists
a9804814 at unet.univie.ac.at
a9804814 at unet.univie.ac.at
Wed Mar 5 20:56:27 CET 2008
Hello,
I am an advanced user of R. Recently I found out that apparently I do
not fully understand vectors and lists fully
Take this code snippet:
T = c("02.03.2008 12:23", "03.03.2008 05:54")
Times = strptime(T, "%d.%m.%Y %H:%M")
Times # OK
class(Times) # OK
is.list(Times) # sort of understand and not understand that
length(Times) # 9 ??? why is it length(Times[1]) ??
Times[1] # OK
Times[[1]] # Wrong
so Times is a vector-style thing of a non-atomic type.
What puzzles me is first that is.list returns true, and more importantly
that the length-query returns the length of the first object of that
apparent list and not how many elements are contained (i.e., I would
have expected 2 as result - and I do not know what syntax to use in
order to get the 2).
Moreover, if the whole thing is part of a data.frame:
DFTimes = as.data.frame(Times)
dim(DFTimes)
length(DFTimes$Times) # OK, 2
then everything is as expected.
Could anyone please clearify why is.list returns true and why length in
the first example returns 9 ? Is it that c() makes a list if the objects
to be concatenated are not representable directly by atomic types ?
thanks,
Thomas
More information about the R-help
mailing list