目前我有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|
任何帮助都将一如既往地受到高度赞赏。