聚合而不减少数据帧的维度

Roh*_*pal 3 group-by aggregate r dimension

我试图在R中使用聚合函数,我希望输出数据框的维度保持不变.例如:假设我有以下数据框

Name------Type------    Price   
Prod1-----A--------       $1
Prod2----A---------       $5
Prod3----B----------       $7
Prod4-----B---------       $9
Run Code Online (Sandbox Code Playgroud)

在R中使用聚合函数后,通过聚合Type和函数作为价格的总和.我得到以下结果:

Type-------Value
A-----------6
B-----------16 
Run Code Online (Sandbox Code Playgroud)

但是,我希望数据框的维度保持不变.例如:

Name-----Type----Price----Value  
Prod1----A-------$1-------$6
Prod2----A-------$5--------$6
Prod3----B--------$7-------$16
Prod 4----B-------$9--------$16
Run Code Online (Sandbox Code Playgroud)

我不想在这个应用程序中使用Loop.请建议任何其他方式这样做.

akr*_*run 5

我们可以使用avebase R

df1$Value <- with(df1, paste0("$", ave(as.numeric(sub("[$]", "", Price)), 
                          Type, FUN = sum)))
df1$Value
#[1] "$6"  "$6"  "$16" "$16"
Run Code Online (Sandbox Code Playgroud)