You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言:筛选minimum_nights>90后提取非UK区域的host_location值

在R语言中提取host_location不属于UK的记录

完全可行,你可以在已处理的数据集基础上,通过筛选条件轻松提取host_location列中不属于"UK"的记录或值。以下是两种常用实现方式:

方法1:使用dplyr(tidyverse工具链)

假设你之前用tidyverse完成了数据预处理,后续只需添加筛选步骤即可:

library(dplyr)

# 先执行你已有的预处理操作
airbnb_processed <- airbnb1 %>%
  select(host_location, minimum_nights, revenue) %>%
  filter(minimum_nights > 90) %>%
  mutate(host_location = ifelse(is.na(host_location), "unknown", host_location))

# 提取host_location不为"UK"的完整记录
airbnb_non_uk <- airbnb_processed %>%
  filter(host_location != "UK")

# 如果只需要提取host_location列的非UK值
non_uk_locations <- airbnb_processed %>%
  filter(host_location != "UK") %>%
  pull(host_location)

方法2:使用基础R语法

如果你习惯用基础R操作,代码如下:

# 基础R版的预处理操作
airbnb_processed_base <- airbnb1[, c("host_location", "minimum_nights", "revenue")]
airbnb_processed_base <- airbnb_processed_base[airbnb_processed_base$minimum_nights > 90, ]
airbnb_processed_base$host_location[is.na(airbnb_processed_base$host_location)] <- "unknown"

# 提取非UK的完整记录
airbnb_non_uk_base <- airbnb_processed_base[airbnb_processed_base$host_location != "UK", ]

# 单独提取host_location列的非UK值
non_uk_locations_base <- airbnb_processed_base$host_location[airbnb_processed_base$host_location != "UK"]

额外提示:灵活匹配场景

如果host_location里存在"United Kingdom"、"GB"等其他指代英国的表述,可通过正则匹配来排除这类记录:

# 忽略大小写,排除包含UK或United Kingdom的位置
airbnb_non_uk_flexible <- airbnb_processed %>%
  filter(!grepl("UK|United Kingdom", host_location, ignore.case = TRUE))

内容的提问来源于stack exchange,提问作者Jay Prakash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 02:52:24