【发布时间】:2018-01-10 03:59:44
【问题描述】:
my.df1 是一个data.frame,具有许多独特的观察结果,但具有相似的特征(在此示例中为Colour、Type 和Size)。对于my.df2 中的每个特征组合,我想计算my.df1 中符合标准的所有观察值的mean 和SD。因此,例如在my.df2 的第一行中,我想计算来自my.df1 的所有观察值中的mean 和SD 的PriceOne 和PriceTwo 具有以下特征:颜色蓝色、类型1 和大小S . 注意:对于第 5 行,我想计算来自my.df1 的所有观察值中的mean 和SD,它们的颜色为蓝色,因此无论它们的类型和大小如何。我的原始数据集有更多观察值、标准变量和价格列,因此非常感谢可扩展的解决方案。
my.df1 <- data.frame(Colour = c('Blue','Blue','Blue','Blue','Blue','Blue','Blue','Blue','Blue','Blue','Blue','Blue','Red','Red','Red','Red','Red','Red','Red','Red','Red','Red','Red','Red'),
Type = c(1,1,2,2,1,2,1,1,2,2,1,2,1,1,2,2,1,2,1,1,2,2,1,2),
Size = c('S','S','S','S','S','S','M','M','M','M','M','M','S','S','S','S','S','S','M','M','M','M','M','M'),
PriceOne = c(10,15,20,18,19,11,12,16,20,21,10,11,10,15,10,18,20,14,21,15,28,19,10,11),
PriceTwo = c(10,15,10,18,20,14,21,15,28,19,10,11,10,15,20,18,19,11,12,16,20,21,10,11))
my.df1(head)
Colour Type Size PriceOne PriceTwo
1 Blue 1 S 10 10
2 Blue 1 S 15 15
3 Blue 2 S 20 10
4 Blue 2 S 18 18
5 Blue 1 S 19 20
my.df2 <- data.frame(Colour = c('Blue','Blue','Blue','Blue','Blue','Blue','Red','Red','Red','Red','Red','Red'),
Type = c(1,1,2,2,2,'-',1,1,2,2,2,'-'),
Size = c('S','M','S','M','-','-','S','M','S','M','-','-'),
PriceOneMean = NA,
PriceOneStDev = NA,
PriceTwoMean = NA,
PriceTwoStDev = NA)
my.df2
Colour Type Size PriceOneMean PriceOneStDev PriceTwoMean PriceTwoStDev
1 Blue 1 S NA NA NA NA
2 Blue 1 M NA NA NA NA
3 Blue 2 S NA NA NA NA
4 Blue 2 M NA NA NA NA
5 Blue 2 - NA NA NA NA
6 Blue - - NA NA NA NA
7 Red 1 S NA NA NA NA
8 Red 1 M NA NA NA NA
9 Red 2 S NA NA NA NA
10 Red 2 M NA NA NA NA
11 Red 2 - NA NA NA NA
12 Red - - NA NA NA NA
编辑:我已将第 5 行和第 11 行添加到 my.df2,以便更好地匹配我的原始数据集。我怎样才能让我上面的问题也适用于这些行?
【问题讨论】: