[R] How to get names of a list into df:s?
jim holtman
jholtman at gmail.com
Fri Feb 22 01:53:01 CET 2008
Here is one way of doing it:
> lapply(names(g), function(z)cbind(x=g[[z]], var1=z))
[[1]]
x var1
1 1 a
2 2 a
3 3 a
[[2]]
x var1
1 4 b
2 5 b
3 6 b
[[3]]
x var1
1 7 c
2 8 c
3 9 c
On Thu, Feb 21, 2008 at 1:22 PM, Lauri Nikkinen <lauri.nikkinen at iki.fi> wrote:
> R users,
>
> I have a simple lapply question.
>
> g <- list(a=1:3, b=4:6, c=7:9)
> g <- lapply(g, function(x) as.data.frame(x))
> lapply(g, function(x) cbind(x, var1 = rep(names(g), each=nrow(x))[1:nrow(x)]))
>
> I get
>
> $a
> x var1
> 1 1 a
> 2 2 a
> 3 3 a
>
> $b
> x var1
> 1 4 a
> 2 5 a
> 3 6 a
>
> $c
> x var1
> 1 7 a
> 2 8 a
> 3 9 a
>
> And I would like to have
>
> $a
> x var1
> 1 1 a
> 2 2 a
> 3 3 a
>
> $b
> x var1
> 1 4 b
> 2 5 b
> 3 6 b
>
> $c
> x var1
> 1 7 c
> 2 8 c
> 3 9 c
>
> How should I modify my lapply clause to achieve this?
>
> Best regards,
> Lauri
>
> > sessionInfo()
> R version 2.6.1 (2007-11-26)
> i386-apple-darwin8.10.1
>
> locale:
> C
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem you are trying to solve?
More information about the R-help
mailing list