子符号和&

时间:2016-12-16 14:55:05

标签: r subset

晚上好, 我有一个奇怪的问题。 我有“机场”数据,数据包括变量“类型” - 小机场,大型,直升机场等。 我正在尝试仅在大型机场和航空运动中进行分组(在新对象中)。

代码看起来像:

airportsBIG <- subset(airportsUS, type == "large_airport" & type =="balloonport")

我单独检查:

airportsBIG <- subset(airportsUS, type == "large_airport") 

它的工作。当我尝试将它们放在“&amp;”中时,它们不起作用符号。我究竟做错了什么?

谢谢

1 个答案:

答案 0 :(得分:4)

&无效的原因是因为它们不在同一行但在不同的行中。 &检查两个值是否存在于同一行中。在这种情况下,我们需要%in%

subset(airportsUS, type %in% c("large_airport", "balloonport")) 

但是,如果我们正在检查可能的子串,

subset(airportsUS, grepl("large_airport",  type) & grepl("balloonport", type))

subset(airportsUS, 
    grepl("\\blarge_airport\\b.*\\bballoonport|\\bballoonport\\b.*\\blarge_airport\\b",
                  type))