我的数据集包含多个列,其中有6个称为ID1,ID2,ID3,ID13,ID23,ID33,其中包含多个ID。我的目标是检查哪些行包含某些值(在这种情况下,值为531或532或533或534),并将这些值分组到新数据集中。使用循环来检查多个列中是否存在某些值
此代码将所有行的数据分组,其中任何这些列中的ID都恰好为531,但我对如何使其只检查值为531的值以及如何使它检查所有4个初始值:531,532,533和534(不使用一吨多的条件语句)
ID <- data[which(data$ID1 == '531' | data$ID2 == '531' | data$ID3 == '531' | data$ID13 == '531' | data$ID23 == '531' | data$ID33 == '531'), ]
我基本上是在寻找一种更简单的方式来做到这一点。
这里是样本数据和我的期望输出:
Sample Data
ID1 ID2 ID3 ID13 ID23 ID33
43645 38894 37338 45617 54419 42716
53123 24277 5323 29160
22821 26091 46100 65324 22179 12367
47946 59421
1954 9544
63534 53244 4771
59080 32532 41460 34562 15722
30542 11477 13211 11739 26753
29331 5311 7079 534424 5322
Desired Output
ID1 ID2 ID3 ID13 ID23 ID33
53123 24277 5323 29160
63534 53244 4771
29331 5311 7079 534424 5322
我的格式道歉(有些数据点确实丢失)
感谢
你想要一个数据集,只有那些在所有三列中至少有一个值的行吗?我想用'grepl'。 – Elin 2014-11-06 22:13:33
建议包含样本数据和期望的输出。 – KFB 2014-11-06 22:15:07
如果您发现答案可以接受,请记得接受它,以便将问题关闭。 – Alex 2014-11-07 05:12:38