遇到麻烦。这是我的数据帧(有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
答案 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"),]