我真的很感谢任何人帮助解决这个问题。有很多问题要问,所以任何和所有的建议都会受到赞赏!
这是@dardisco 在一个月前我提出类似问题时创建的样本集。a 和 b 代表两个不同的测试,数字 (09, 10, 11) 代表测试完成的年份。
最终,我想弄清楚
2010 年和 2011 年阳性 B 测试数/阳性 A 测试数
2010 年和 2011 年阳性 B 测试的数量/B 测试的总数
我必须先检查几件事:
- 如果在 2009 年和 2010 年都进行了 A 测试,我将采用 2010 年的结果。B 测试也是如此
- 我想删除任何有人在没有先进行 A 测试的情况下进行 B 测试的情况。如果是同年就OK了。不应该有这些……但我想知道如何检查。
如果有人有任何建议,我将不胜感激!如果您只想解决部分问题(无论是我最终想弄清楚的问题,还是我想首先进行的检查),那就太好了。我不确定我是否应该使用嵌套的 ifelse 语句,或者其他东西会更好......
如果您需要更多信息,请告诉我!
vals1 <- c(NA, "pos", "neg", "nr")
set.seed(1)
df1 <- data.frame(
id = seq(1:10),
a09 = sample(vals1,10,replace=TRUE),
a10 = sample(vals1,10,replace=TRUE),
a11 = sample(vals1,10,replace=TRUE),
b10 = sample(vals1,10,replace=TRUE),
b11 = sample(vals1,10,replace=TRUE)
)
### modify to give at least one case meeting each of your criteria
df1[10,c(5,6)] <- NA # 2x NAs for b's
df1[1,c(2,3,4)] <- NA # 3x NAs for a's
df1[2,c(2,4,5,6)] <- NA # all NAs