如何在R的data.table中按Year和FIPS_Code筛选attrib_wk区间行
解决R中data.table分组筛选区间行的问题
修正后的代码
result <- DT[attrib_wk >= st_wk & attrib_wk <= end_wk, by = .(Year, FIPS_Code)]
代码说明
- 原代码仅筛选了
attrib_wk等于st_wk的行,未覆盖st_wk到end_wk的完整区间,因此需要将条件改为attrib_wk >= st_wk & attrib_wk <= end_wk,匹配区间内的所有行。 - 通过
by = .(Year, FIPS_Code)按年份和FIPS编码分组,确保每个分组内使用自身的st_wk和end_wk进行筛选,适配多组数据的场景。 - 由于示例中
attrib_wk、st_wk、end_wk均为统一格式的字符串(如MM-WW),直接使用字符串比较即可实现区间判断,无需额外转换格式。
内容的提问来源于stack exchange,提问作者NUdu
相关产品推荐
相关产品推荐

