[R] changing names of vectors in list or data.frame
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Sun Feb 19 17:36:59 CET 2006
Clint Harshaw <charshaw at presby.edu> writes:
> When I combine separate vectors into one list, there are new names
> created. I'd like to change them to something more meaningful.
>
> Here are two examples using data(zelazo) from library(ISwR):
>
> > library(ISwR)
> > data(zelazo)
> > attach(zelazo)
> > zelazo
> $active
> [1] 9.00 9.50 9.75 10.00 13.00 9.50
>
> $passive
> [1] 11.00 10.00 10.00 11.75 10.50 15.00
>
> $none
> [1] 11.50 12.00 9.00 11.50 13.25 13.00
>
> $ctr.8w
> [1] 13.25 11.50 12.00 13.50 11.50
> > walk <- stack(list("active"=active, "passive"=passive, "none"=none,
> "ctr.8w"=ctr.8w))
> > walk
> values ind
> 1 9.00 active
> [...rows deleted...]
> 23 11.50 ctr.8w
>
> I want to name the first column "walking" and the second column
> "training". How do I do this?
The obvious way would seem to be
names(walk) <- c("walking","training")
> Here is a second example:
>
> > walk2 <- data.frame(c(active, passive, none, ctr.8w), c(rep(1:4,
> c(length(active), length(passive), length(none), length(ctr.8w)))))
> > walk2
> c.active..passive..none..ctr.8w.
> 1 9.00
> [...rows deleted...]
> 23 11.50
>
> c.rep.1.4..c.length.active...length.passive...length.none...length.ctr.8w....
> 1
> [...rows deleted...]
> 4
> >
>
> The created names are very long. Again, I want the name of the first
> column to be "walking" and the second column to be "training".
walk2 <- data.frame(walking=c(active, passive, none, ctr.8w),
training=c(rep(1:4, c(length(active), length(passive),
length(none), length(ctr.8w)))))
[or
walk2 <- data.frame(walking=unlist(zelazo),
training=factor(rep(1:4, sapply(zelazo,length)),
labels=names(zelazo) ))
]
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list