R数据框:在公共行中添加值
我有一个这样的数据框R数据框:在公共行中添加值,r,list,dataframe,R,List,Dataframe,我有一个这样的数据框 > df1 portfolio date ticker quantity price 1 port 2010-01-01 AAPL 100 10 2 port 2010-01-01 AAPL 200 10 3 port 2010-01-01 AAPL 400 11 如果除数量之外的df1行相同,则添加常用行的数量。 我的意思是,我需要以下输出 portfolio
> df1
portfolio date ticker quantity price
1 port 2010-01-01 AAPL 100 10
2 port 2010-01-01 AAPL 200 10
3 port 2010-01-01 AAPL 400 11
如果除数量
之外的df1
行相同,则添加常用行的数量
。
我的意思是,我需要以下输出
portfolio date ticker quantity price
1 port 2010-01-01 AAPL 300 10
3 port 2010-01-01 AAPL 400 11
我该怎么做?谢谢..使用
聚合。假设您的data.frame
被称为“mydf”:
当然,我们现在都应该等待data.table
和ddply
版本来填充答案列表……给你……:-)
对于plyr
:
ddply(df, .(portfolio, date, ticker, price),summarize, quantity=sum(quantity))
对于数据。表:
dt <- data.table(df)
dt[,list(quantity=sum(quantity)),by=list(portfolio,date,ticker,price)]
dt当然——在使用setdiff
:x和+1之后,只需将所有其他变量名存储在一个新的向量中即可:)@AnandaMahto感谢+1,但我的答案不应该比你的答案有更多的赞成票…:-)
dt <- data.table(df)
dt[,list(quantity=sum(quantity)),by=list(portfolio,date,ticker,price)]