2017-05-23 46 views
1

遇到问题。这里是我的数据框的例子(它有4k行)。我想提取LocationID列(“D”)中具有特定名称的行。尝试提取r中特定列值的行时出错?

D, AWC_Code 
Yukon, 2 
Unimak, 3 
Taku River, 4 
Banana, 5 
Tailgate, 6 

但是,当我使用这个脚本时,我总是收到一个错误。思考?

awc3 <- awc2[ D == "Unimak" | D == "Taku River" ] 

Error in D == "Unimak" : 
comparison (1) is possible only for atomic and list types 
+3

'awc3 < - awc2 [awc2 $ d == “Unimak被” | awc2 $ D ==“大沽河”,]' – HubertL

回答

5

您可以使用dplyr::filter

library(dplyr) 
awc3 <- filter(awc2, D == "Unimak" | D == "Taku River") 
1

我相信,你有awc3与两列的data.frame。

library(dplyr) 
awc3 <- filter(awc2, D %in% c("Unimak", "Taku River")) 
# or, this should also do the trick 
awc2[awc2$D %in% c("Unimak", "Taku River"),] 
3

在基础R您可以使用dataframe$column做逻辑索引:

awc3 <- awc2[ awc2$D == "Unimak" | awc2$D == "Taku River", ]