在不同的数据框架中使用lapply,invisible和cast来创建新的数据框

时间:2017-02-02 21:08:18

标签: r casting lapply invisible

目前我有16个数据帧,我希望在一次命中而不是一次命中时对它们运行cast命令。我可以通过使用lapply成功完成此操作(请参阅下面的代码)。但是,数据会写入列表列表,我宁愿将数据保存为单独的数据帧。 (这很可能是低效的,但我需要对数据进行各种网络分析,并希望将它们分开)

require(dplyr)
require(readr)
require(data.table)
library(reshape)

lapply(prolist,function(x) cast(x, mgrname ~ ticker, fun.aggregate = sum ,value = "shares"))

其中prolist包含我要将函数应用到的各种数据帧的名称。

我在类似情况下找到并使用了不可见代码,它生成了单独的数据帧,但这次我无法使其工作。我的代码是:注意转换函数来自重构包。

invisible(lapply(prolist,function(x) cast(x, mgrname ~ ticker, fun.aggregate = sum ,value = "shares")
      { assign(paste0("summary", x), x, pos=.GlobalEnv) }))

错误是:

Error: unexpected '{' in:

"隐形(lapply(prolist,function(x)cast(x,mgrname~ticker,fun.aggregate = sum,value =" shares")           {"

文件格式如下,每年的每个季度都有一个文件。

| mgrname | ticker | share |
|---------|--------|-------|
| Man A   | AAPL   |     20|
| Man A   | MSFT   |     30|
| Man A   | TLSA   |     40|
| Man B   | AAPL   |     20|
| Man B   | MSFT   |     10|
| Man B   | TLSA   |     50|
| Man C   | AAPL   |     20|
| Man C   | MSFT   |     20|
| Man C   | TLSA   |     80|

任何帮助都将一如既往地受到高度赞赏。

0 个答案:

没有答案