【发布时间】:2015-07-22 13:36:07
【问题描述】:
如何将 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 数据集的尝试是我自己的数据集的替代演示。我尝试使用自己的数据集使用相同的方法并收到相同的错误消息。我想我的语法有问题。它是什么?
【问题讨论】:
-
median[!iris$Petal.Width %in% c('1.3', '1.5')]你在这里设置了一个函数。这会产生错误。您不能在函数上使用 [ ]。