gpt4 book ai didi

r - 如何根据多个值排除 R 中的行?

转载 作者:行者123 更新时间:2023-12-05 08:24:01 24 4
gpt4 key购买 nike

假设我有一个如下所示的数据集:

> data
iso3 Vaccine Coverage
1 ARG DPT3 95
2 ARG MCV 94
3 ARG Pol3 91
4 KAZ DPT3 99
5 KAZ MCV 98
6 KAZ Pol3 99
7 COD DPT3 67
8 COD MCV 62
9 COD Pol3 66

我想根据同时满足的几个条件过滤掉一些记录;例如,我想删除来自阿根廷 (ARG) 的任何覆盖率超过 93% 的数据。因此,结果应排除第 1 行和第 2 行:

  iso3 Vaccine Coverage
3 ARG Pol3 91
4 KAZ DPT3 99
5 KAZ MCV 98
6 KAZ Pol3 99
7 COD DPT3 67
8 COD MCV 62
9 COD Pol3 66

我尝试使用 subset() 但它排除了太多:

> subset(data, iso3!="ARG" & Coverage>93)
iso3 Vaccine Coverage
4 KAZ DPT3 99
5 KAZ MCV 98
6 KAZ Pol3 99

问题似乎是 & 运算符似乎不像 bool AND 那样工作,返回两个条件的交集。相反,它的功能类似于 bool OR,返回它们的并集。

我的问题是,我在这里使用什么来强制执行 bool 值 AND?

最佳答案

!= 是一个运算符,意思是“不等于”。

!表示逻辑非(NOT)

你的情况

iso3!="ARG" & Coverage>93

(iso3 不等于到“ARG”)和(覆盖率 > 93)

如果你愿意

NOT((iso 等于“ARG”) AND (Coverage > 93))

你需要适本地创造一个条件,例如

例如

!(iso == 'ARG' & Coverage > 93)

要全面了解 base R 中的逻辑运算符,请参阅

help('Logic', package='base')

关于r - 如何根据多个值排除 R 中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26133532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com