如何基于DataFrame的Year列提取指定年份区间的行?
提取DataFrame中特定年份区间的行
针对你的需求,这里提供两种在R中筛选目标年份区间行的实用方法:
方法1:基础原生R语法
无需额外安装包,直接通过逻辑条件组合筛选:
# 筛选1980-1985年 或 1990-1995年的所有行 filtered_data <- malineGDP[(malineGDP$Year >= 1980 & malineGDP$Year <= 1985) | (malineGDP$Year >= 1990 & malineGDP$Year <= 1995), ]
逻辑说明:用&表示“同时满足”来定义单个年份区间;用|表示“或”来连接两个独立的区间条件,末尾的逗号表示保留所有列。
方法2:使用dplyr包(更简洁的tidyverse风格)
如果习惯tidyverse系列工具,dplyr的filter()函数能让代码更易读:
# 首次使用需安装包 install.packages("dplyr") # 加载dplyr包 library(dplyr) # 方式2.1:直接写区间条件 filtered_data <- malineGDP %>% filter((Year >= 1980 & Year <= 1985) | (Year >= 1990 & Year <= 1995)) # 方式2.2:用between()简化区间写法 filtered_data <- malineGDP %>% filter(between(Year, 1980, 1985) | between(Year, 1990, 1995))
逻辑说明:between()函数可以直接判断数值是否落在两个边界值之间(包含边界),让代码更简洁直观。
执行完上述代码后,filtered_data就是仅包含目标年份区间的数据集,你可以通过print(filtered_data)查看结果。
内容的提问来源于stack exchange,提问作者Ayoze Alfageme
相关产品推荐
相关产品推荐

