如何从plyr重命名**ply函数的输出行/列?

Dav*_*uer 5 r plyr

我想在plyr包中声明**ply函数中的row/col输出名称ldply.

例如,

我有一个列表,foo我想转换为a data.frame并截断有效数字signif()

 foo <- list(var.a = runif(3), var.b = runif(3), var.c=runif(3))
Run Code Online (Sandbox Code Playgroud)

我现在拥有的是什么

q <- ldply(foo, signif, 2)
colnames(dq)[1] <- c('id', 'q1', 'q2','q3')
rownames(dq) <- dq$id
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法?

前两个问题都问如何使用plyr重命名COLS使用plyr,但我想我的问题是不同的.名称可以与另一个功能同时声明(或者如果我正确地这样做)?这是一个有价值的功能要求吗?

Dir*_*tel 6

你必须在某个地方给出名字,要么是在内部调用的函数,例如in

R> ldply(foo, function(l) c(a=signif(l[1], 2), b=signif(l[2], 2), 
+                           c=signif(l[3], 2)))
    .id    a    b    c
1 var.a 0.50 0.72 0.27
2 var.b 0.82 0.38 0.24
3 var.c 0.13 0.27 0.81
R> 
Run Code Online (Sandbox Code Playgroud)

或者你在电话会议后做了什么.

我经常使用的另一个选项是data.frame在匿名工作者函数中显式创建一行. *dply()然后,他们简单地将这些整理成一个单一的data.frame.这对我的口味来说足够好.