尝试在r中提取具有特定列值的行时出错?

时间:2017-05-23 21:23:52

标签: r dataframe extract

遇到麻烦。这是我的数据帧(有4k行)的示例。我想提取LocationID列(“D”)中具有特定名称的行。

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 个答案:

答案 0 :(得分:5)

您可以使用dplyr::filter

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

答案 1 :(得分:3)

在基础R中,您可以使用dataframe$column进行逻辑索引:

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

答案 2 :(得分: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"),]