На этот вопрос уже дан ответ по этой ссылке (подмножество по крайней мере двумя из нескольких условий), однако у меня есть дополнительный запрос. Ниже приведен мой фрейм данных (df)
a b c d1 d2 e z
3.2 0.6 5.8 143.7 95.0 2.9 2
3.3 1.3 5.3 137.3 73.3 1.0 1
2.8 1.3 5.6 135.3 79.3 1.8 2
2.9 1.4 5.3 137.7 82.0 1.9 2
4.7 1.8 5.5 143.0 86.5 1.5 1
3.2 1.4 5.8 125.3 79.0 1.5 2
2.6 1.8 5.8 137.3 79.0 1.0 1
3.4 1.4 5.1 132.0 72.3 1.0 1
3.5 1.8 5.0 130.7 75.7 2.0 2
2.1 1.2 4.6 108.3 70.7 1.5 2
3.8 1.7 5.1 133.5 79.8 1.8 2
3.3 1.3 5.1 121.7 79.7 1.5 2
5.2 1.5 5.2 144.7 88.3 1.5 2
4.8 1.2 5.3 127.7 78.0 1.8 2
2.8 0.6 5.4 116.7 61.7 2.0 2
3.7 1.4 4.7 101.0 63.3 1.6 2
2.9 1.4 5.0 121.3 76.3 1.5 2
2.2 1.5 5.3 144.3 83.7 1.6 2
4.4 0.8 5.1 140.0 84.7 1.4 2
5.0 2.4 5.5 124.3 83.0 1.6 2
1.9 0.9 5.4 143.0 79.7 1.1 1
4.5 1.7 5.8 143.7 91.7 0.9 1
3.3 0.7 5.1 127.3 69.3 2.2 2
3.4 1.3 5.6 161.0 87.7 1.7 2
4.5 1.8 6.1 139.7 75.3 1.2 1
3.9 0.8 5.2 99.3 61.0 1.2 2
2.6 2.4 4.8 127.0 79.3 1.8 2
3.4 0.9 5.3 130.0 79.0 1.0 1
2.7 0.4 4.8 135.0 83.7 1.0 2
2.9 1.9 4.7 132.7 90.3 1.5 2
3.9 1.1 6.5 126.3 68.0 1.3 2
3.1 0.9 5.9 152.0 98.3 1.3 1
4.6 1.7 6.0 144.0 96.3 1.5 1
4.1 4.8 5.1 132.7 70.3 0.8 1
5.9 1.2 5.6 130.3 79.0 1.4 2
3.9 2.9 5.3 128.0 76.3 0.7 1
3.2 1.3 5.9 151.7 88.7 1.4 2
3.7 4.0 6.4 133.0 82.7 1.2 2
3.1 1.4 6.6 124.7 76.0 1.0 1
2.9 0.6 5.4 121.0 74.0 2.1 2
3.4 4.1 5.1 137.3 69.0 0.8 1
3.4 2.7 4.9 136.3 78.3 1.4 1
4.0 0.9 4.8 123.0 71.0 2.1 2
2.5 0.8 4.5 175.3 107.8 1.7 1
5.0 2.2 5.2 151.7 78.7 1.3 1
3.9 6.4 5.6 128.7 85.3 0.6 1
3.4 1.5 5.7 131.0 81.0 1.5 1
3.7 0.9 5.3 104.7 67.0 0.9 2
2.3 1.8 5.8 126.3 78.7 1.0 1
5.0 1.3 5.5 134.7 85.7 1.2 1
3.2 1.9 6.1 130.7 77.7 0.9 2
3.8 1.8 5.8 123.0 75.0 1.4 1
3.6 2.1 5.0 135.3 87.0 1.3 1
3.7 3.5 6.0 145.8 80.3 1.4 1
3.2 0.6 4.7 114.0 71.0 1.9 2
3.9 1.5 5.3 129.7 87.0 1.2 1
4.3 1.4 4.9 105.0 67.7 1.2 2
4.2 2.7 6.3 122.0 76.7 1.2 2
4.8 2.9 5.6 131.0 76.3 1.1 1
2.5 2.2 5.4 115.3 70.7 1.3 1
2.5 1.4 5.1 148.3 93.3 2.4 2
3.7 0.8 4.7 117.3 77.7 1.2 2
4.0 2.7 6.2 127.3 79.3 1.1 2
2.6 1.2 5.6 155.3 109.7 1.5 1
3.3 2.1 5.1 118.7 72.3 1.4 2
4.2 0.8 5.4 126.0 73.7 2.0 2
4.0 1.6 5.3 153.0 86.7 1.4 2
3.8 1.2 6.7 154.3 84.0 1.6 2
3.2 1.8 5.4 168.7 87.7 1.2 1
3.2 1.3 5.2 135.0 74.3 1.2 1
3.5 1.2 5.9 138.3 75.3 1.4 1
3.6 1.4 5.1 126.7 81.0 1.1 2
3.3 1.7 6.4 152.3 87.7 1.5 1
2.6 0.7 5.6 134.3 74.7 2.2 2
4.1 1.8 5.8 154.8 83.0 1.7 2
2.5 1.0 4.6 147.7 93.0 1.2 1
4.0 1.7 5.9 132.3 80.7 1.3 1
3.2 1.5 6.1 144.3 85.0 1.3 1
2.8 1.6 4.7 115.3 81.0 1.4 2
3.4 1.0 6.0 130.8 80.3 1.2 1
2.9 1.3 5.5 132.7 82.3 1.5 2
4.0 1.9 5.9 114.0 67.7 1.7 2
4.1 1.3 5.3 129.7 77.0 1.4 2
1.9 1.1 6.1 124.3 58.0 1.5 2
3.0 1.2 5.0 129.3 81.7 1.6 2
4.1 0.9 5.0 129.7 80.3 1.5 1
3.2 2.8 5.5 127.3 72.8 1.0 1
3.2 1.0 4.6 135.7 80.0 2.8 2
3.0 1.7 5.7 154.3 88.3 1.4 2
3.2 3.1 6.2 129.3 76.7 1.2 1
Я хочу подмножить это таким образом, чтобы выполнялись как минимум 2 из следующих 5 условий:
a >= 4.11
b >= 2.26
c >= 5.6
d1 <= 140 and/or d2 <= 90 (considering both these variables d1 and/or d2 as one condition)
e <= 1.03 mmol/L (when z == 1) and e <= 1.29 mmol/L (when z == 2)
Я понимаю, как добавить первые 3 в следующий код, но может ли кто-нибудь помочь мне с тем, как добавить последние 2 условия?
df_new <- df[rowSums(cbind(df$a >= 4.11, df$b >= 2.26, df$c >= 5.6)) > 1,]
Заранее спасибо.
df[rowSums(cbind(df$a >= 4.11, df$b >= 2.26, df$c >= 5.6, df$d1 <= 140 | df$d2 <= 90, (df$e <= 1.03 & df$z==1) | (df$e <= 1.29 & df$z==2) )) > 1,]
- person GKi   schedule 16.09.2019(df$d1 <= 140 | df$d2 <= 90)
; условие 5:(df$e <= 1.03 && df$z == 1)
. Вы можете просто добавить их в свой cbind, и он должен дать вам то, что вы ищете. В этом конкретном случае, когда выполняются как минимум 2 условия,subset
,filter
иfilter_if
не будут очень полезны. - person Oliver   schedule 16.09.2019