我目前正在使用de ggplot包中的钻石数据集。
我想获得具有最高“价格”中值的“削减”字段。我可以使用by函数获得结果。
by(diamonds$price, diamonds$cut, median)
我只能获得具有最高中位数“价格”的“切割”的名称。我正在尝试将“by”值传递给矩阵,因此我可以获得我需要的列,但到目前为止还没有成功。 有什么建议?感谢。
答案 0 :(得分:2)
by()
是基本R函数族中的一个成员,它通过分类因子分割数据,对分割执行汇总计算,并以各种不同格式返回结果。其他人包括aggregate()
,ave()
和tapply()
,后者是我在这里使用的:
meds <- tapply(diamonds$price, diamonds$cut, median)
names(which.max(meds))
# [1] "Fair"