【发布时间】:2022-01-22 12:14:09
【问题描述】:
我有一个包含 4 个指标(国家、站点名称、年份、Test_type 和 Number_ofTests)的示例数据集。我的最终目标是拥有一个同时包含 test_types(Covid 和 Flu)的数据集,但仅适用于实际提供 Covid 测试的网站。
这意味着我需要所有提供 Covid 测试的网站,但需要过滤掉那些进行流感测试但没有 Covid 的网站。
我在弄清楚如何构建代码时遇到了问题,因为“Flu”和“Covid”都在同一列“Test_Type”下。
我尝试了这段代码,但最终从“Covid”中删除了缺失的内容并保留了所有不是我想要的“流感”。
master2 % 过滤器(Test_Type %in% c("Covid") %>% drop_na(Number_Tests)
进一步说明:代码应该删除站点 112 和 118,因为它们不提供 Covid 测试 (number_tests = 0),并且应该只为也提供 Covid 测试的站点保留流感变量。请注意:某些站点名称确实会在数据集中进一步重复
为了清楚起见,链接到数据集结构的图片:
【问题讨论】:
-
缺少
)filter部分?master2 <- master1 %>% filter(Test_type == "Covid") %>% drop_na(Number_ofTests) -
我在实际代码中有这个——只是忘了写在这里
-
根据您的屏幕截图和代码,
Test_Type和Number_Tests的列名都有错误 -
如果您只需要选择
Covid并从数据中删除112和118,请尝试master1 %>% filter(Test_Type == "Covid", Number_Tests > 0) -
问题是我需要根据 Covid 的值是否 > 0 来过滤掉流感。这有意义吗?我可以进一步澄清