gpt4 book ai didi

R - 应用列均值,返回逻辑数组

转载 作者:行者123 更新时间:2023-12-01 07:43:57 25 4
gpt4 key购买 nike

我有一个数据框。

我正在尝试使用 tapply 函数在第二列的值等于给定值时查找一列的平均值。

我希望tapply 返回均值,但它返回的是逻辑数组

(FALSE - 当第二列的值不等于给定值时的平均值,TRUE - 当第二列的值等于给定值时的平均值)

这是我正在应用的函数(当“cyl”列等于 4 时,我想要“hp”列的平均值)

tapply(mtcars$hp,mtcars$cyl==4,mean)

这是返回的内容:

 FALSE      TRUE 
180.23810 82.63636

如何让输出简单地为 82.63636?

谢谢

最佳答案

如果您必须使用tapply,您需要对结果进行子集化以仅返回您想要的值

tapply(mtcars$hp,mtcars$cyl==4,mean)[[2]]
82.63636

但是,要获得一个列的平均值,由另一个列子集,您可以对子集数据调用 mean

mean(mtcars$hp[mtcars$cyl == 4])
82.63636

## similarly
# mean(mtcars[mtcars$cyl == 4, "hp"])

关于R - 应用列均值,返回逻辑数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41112039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com