我不明白为什么"哪个"函数在这里没有给出正确的结果。我只想选择宾夕法尼亚州商业服务运营超过 5,000 个的机场,结果总是包含一些低于 5,000 个的商业服务运营,如下所示。
我已经阅读了几个问题,表明"哪个"的问题,但我没有看到那种问题,并且在使用此功能之前我没有遇到过这个问题。
Test4<-Airports[which(Airports$LAN_FA_TY=="AIRPORT" &
Airports$STATE_NAME=="PENNSYLVANIA" &
Airports$COMM_SERV>= "5000")
, ]
Test4$COMM_SERV
# [1] 77680 73 71
在此代码片段中Airports$COMM_SERV>= "5000"
您将数字(5000)使用" ",这会将数字转换为字符,因此您不能再使用该字符的数学运算,例如。只需删除",它应该按预期工作。 (允许对字符对象使用比较运算符,并且有意义。请参阅>=
?'>='
。只是结果可能不是预期的。
查看您的代码,您还可以从使用 with()
来减少键入并提高可读性中受益:
with(Airports, Airports[which(LAN_FA_TY == "AIRPORT" & STATE_NAME == "PENNSYLVANIA" & COMM_SERV >= 5000),])