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)]