r - 在 R 中按组级别过滤行
问题描述
如何选择与 2006 年、2019 年和 2020 年相关的所有行(也保留 NA 行)?
> head(all_data)
year Tt
<fct> <dbl>
1 2006 NA
2 2020 5
3 2008 18
4 2018 41
5 2020 33.5
6 2019 0.7
我尝试了这种方法,但出现错误:
mini_data <- all_data[(all_data$year==c('2020','2019','2006')),]
Warning messages:
1: In `==.default`(rand$year, c("2020", "2019", "2006")) :
longer object length is not a multiple of shorter object length
2: In is.na(e1) | is.na(e2) :
longer object length is not a multiple of shorter object length
解决方案
将“哪个”与“|”结合起来 运营商为我做了诀窍。
mini_data <- data[which(data$year== 2020 | data$year == 2019 | data$year == 2006),]
可以在此处找到有关此主题的优秀线程:如何使用“OR”组合多个条件以子集数据框?
推荐阅读
- python - 当信标在扫描仪上显示/不显示时,如何修改此 python 脚本以执行 php 文件?
- xpath - 过滤器介体中的 XPath 表达式
- bash - 可以打印两个 iso8601 时间段之间的所有日期的 Bash 脚本
- c - 使用数组实现最小堆
- reactjs - 如何在reactjs中从一个组件(子组件)获取另一个组件(父组件)的值?
- c# - 如何以编程方式从 TFS/Azure DevOps 获取拉取请求?
- ffmpeg - Ffmpeg - 比特流过滤器“aac_adtstoasc”不支持编解码器“mp2”(86016)
- java - 为什么按钮 alpha 在睡眠后更新
- spring-boot - 为什么 Mybatis 对所有请求都添加检查请求?
- python - PyCharm 中的虚拟环境与命令行