我想要数字列mpg
和hp
的平均值。在此数据框架中,必须根据mpg
和hp
为每个制造商分别计算每个制造商的等级。制造商的最终度量值为0.6 * mpg + 0.4 * hp
。请参阅以下代码:
data(mtcars)
t<-mtcars
d<-aggregate(mpg~hp,data = t,FUN = mean)
d
通过这样做,我们得到一个列表。但此列表不包含制造商的名称。我们如何获得制造商的排名? 。
请看下面,据说行名称的第一个单词将给出制造商的名称:
data(mtcars)
t <- mtcars
t$mfg <- vapply(rownames(mtcars), function(x) unlist(strsplit(x, " "))[1], "")
d <- aggregate(. ~ mfg, data = t, FUN = function(x) mean(x))[, c("mfg", "mpg", "hp")]
d[, 2:3] <- lapply(d[, 2:3], rank)
d$final <- rank(0.6 * d$mpg + 0.4 *d$hp)
head(d)
输出,最终指标在final
列中:
mfg mpg hp final
1 AMC 7.0 12.5 4.0
2 Cadillac 1.5 16.0 1.0
3 Camaro 3.0 19.5 5.0
4 Chrysler 5.0 18.0 7.0
5 Datsun 17.0 5.0 10.5
6 Dodge 8.0 12.5 6.0