我尝试运行这段代码
filter_data <- states_data %>%
filter(grepl("[0-9]+/km",Population.Density.a.),is.numeric(gsub("[^0-9]","",Population.Density.a.))>500)
print(filter_data)
正在执行但显示O数据。
我尝试分部分执行它,第一部分
grepl("[0-9]+/km",Population.Density.a.)
运行良好。第二部分:
is.numeric(gsub("[^0-9]","",Population.Density.a.))>500)
有问题,执行这部分时,出现 0 个结果。
说明 Ronak Shah 的评论:
set.seed(0)
library(tidyverse)
# creating a toy dataset
states_data <- data.frame(
state = c("Kerala", "Goa", "Uttar Pradesh", "Rajasthan", "Tamil Nadu"),
Population.Density.a. = c(paste0(sample(100:1000, 3), "/km"), NA, "hello"))
states_data %>%
filter(as.numeric(gsub("[^0-9]","",Population.Density.a.))>500)
# Output:
state Population.Density.a.
1 Goa 935/km
2 Uttar Pradesh 778/km