gpt4 book ai didi

r - 结合 tapply 和 'not in' 逻辑,使用 R

转载 作者:行者123 更新时间:2023-12-04 11:04:25 25 4
gpt4 key购买 nike

如何将 tapply 命令与“不在”逻辑结合起来?

目标 :获得每个物种的中位数萼片长度。

tapply(iris$Sepal.Length, iris$Species, median)

约束 :删除花瓣宽度为 1.3 和 1.5 的条目。
!iris$Petal.Width %in% c('1.3', '1.5')

尝试 :
tapply(iris$Sepal.Length, iris$Species, median[!iris$Petal.Width %in% c('1.3', '1.5')])

结果:错误消息“类型‘闭包’的对象不是可子集的”。

---

我在这里使用 iris 数据集的尝试是我自己的数据集的替代演示。我已经对我自己的数据集尝试了相同的方法并收到了相同的错误消息。我想我的语法有问题。它是什么?

最佳答案

尝试

with(iris[!iris$Petal.Width %in% c('1.3', '1.5'),], tapply(Sepal.Length, Species, median))
# setosa versicolor virginica
# 5.0 5.8 6.5

这里的想法是首先对子集数据进行操作。

您的线路无法正常工作,因为 FUN参数应应用于 X ( Sepal.Length 在您的情况下)而不是整个数据集。

关于r - 结合 tapply 和 'not in' 逻辑,使用 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30177992/

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