我想在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,但我想我的问题是不同的.名称可以与另一个功能同时声明(或者如果我正确地这样做)?这是一个有价值的功能要求吗?
你必须在某个地方给出名字,要么是在内部调用的函数,例如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.这对我的口味来说足够好.