2016-12-16 34 views
1

晚上好, 我有一個奇怪的問題。 我有「機場」數據,數據包括變量「類型」 - 小型機場,大型直升機場等。 我想要子集(在新對象中)只有大型機場和baloonports。帶符號的子集&

代碼的樣子:

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

我單獨檢查:

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

,它的工作。當我嘗試將它們放在一起時,「&」符號不起作用。我究竟做錯了什麼?

謝謝

回答

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)) 
+1

太謝謝你了!完美的工作! 謝謝你的解釋! – Pon4a