airDF[is_vacation、airDF$ArrDelay](其中is_vacation是一个逻辑向量)和airDF[is_vacation、'ArrDelay']之间的区别

Difference between airDF[is_vacation, airDF$ArrDelay] (where is_vacation is a logical vector) and airDF[is_vacation, 'ArrDelay']

有什么区别(is_vacation是逻辑向量):

tapply(X = airDF[is_vacation, airDF$ArrDelay], airDF[is_vacation, airDF$FromTo], mean, na.rm = TRUE)

tapply(X = airDF[is_vacation, 'ArrDelay'], airDF[is_vacation, 'FromTo'], mean, na.rm = TRUE)

在第一个选项中出现错误:

Error in [.data.frame(airDF, is_vacation, airDF$FromTo) : no columns were selected.

第一个选项是错误的,因为它不是列名或索引,而是 j 中使用的列值,而第二个选项很好

 tapply(mtcars[1:5, 'mpg'], mtcars[1:5, 'gear'], mean)
    3     4 
20.05 21.60