R-如何针对条件测试多个100的相似变量

时间:2020-06-28 00:56:15

标签: r

我有一个数据库,其中一些人可以进行多次诊断。

ID dx1 dx2 dx3 dx4 dx5 dx6 .... dx200
1  343 432 873 129 12  123       3445
2  34  12  44
3  12 
4  34  56

基本上,如果任何“ dxs”等于某个数字,我希望能够创建一个新变量

R中有没有一种快速方法可以扫描所有dx变量而无需使用数百个if语句?所有不同的变量都具有相同的格式(dx#)。

感谢所有帮助!

1 个答案:

答案 0 :(得分:0)

一种productTagsArray = [["product1" : [kale]], ["product2" : [organic green kale, organic, green, kale]], ["product3" : [organic cucumber, organic, cucumber]]] R解决方案:

allProductSearchResults = [["product2" : [organic green kale, organic, green, kale]], ["product1" : [organic kale, organic, kale]], ["product3" : [organic cucumber, organic, cucumber]]]

逻辑是:base将沿着每一行进行扫描,并计算等于12的条目数。通过在其末尾添加# toy data set similar to yours, but slightly different df <- data.frame( ID = 1:4, dx1 = c(343, 34, 12, 34), dx2 = c(432, 12, 15, 56), dx3 = 20:23, dx4 = c(12, 9, 9, 9), dx5 = 30:33 ) df$highBP <- rowSums(df[, -1] == 12) > 0 ,我们将倒数到1(如果至少有1个条目)或0。

请注意,rowSums(df == 12)将去除第一列(以免错误诊断12号患者)。在更丰富的数据框中,您将要更加小心以这种方式选择的列。