0

I know it is an easy question but I don't know why is getting complicated somehow. I provide a small dataset with just 5 categories in the column named gen. In my dataset there is more than 3 categories. My intention is to get NA values in dCt according to gen category matching several strings == gapd, b2m and s18

#applying filter with "&"
genes %>% dplyr::filter(dCt == "NA" & gen == c("gapd", "b2m", "s18"))

#rowAny

genes %>% dplyr::filter(rowAny(across(.cols = dCt[gen = c("gapd", "b2m", "s18")],
.fns = ~ is.na(.x)
)))

# try with str_detect and filter
genes %>% dplyr::filter(gen == c("gapd", "b2m", "s18")) %>% str_detect(.x, "NA")

The df

df <-
structure(list(id = c(70802011, 110104023, 130106038, 130106038, 
110104023, 50705001, 50430001, 110113006, 50203004, 50118001, 
50109025, 140103024, 110104028, 50521002, 120715026, 140101088, 
130102014, 50109026, 50203012, 70802011, 111202007, 50203022, 
50109027, 50203012, 140101096, 140103023, 60901029, 130105045, 
120715020, 120715025, 50203029, 140102089, 140103020, 60901029, 
140103026, 50109027, 110606056, 130102014, 111202015, 120715027, 
71801001, 60901038, 110104027, 60901036, 50521001, 111201017, 
120715033, 60901027, 50203027, 60901033, 110104029, 130108009, 
140102095, 130106037, 60901021, 71801002, 50203020, 110113001, 
140101097, 130108008, 110104028, 70802015, 140103029, 140102090, 
50203026, 50521002, 120715025, 140102092, 140101091, 110113005, 
130104004, 50203013, 70802015, 50203010, 110104019, 130105044, 
70107034, 120715021, 111201006, 111201007, 111201014, 70713001, 
140102089, 130108008, 60901037, 140101099, 60901026, 130102009, 
50203016, 110113008, 50203032, 111201006, 130102014, 50203010, 
70802012, 140103038, 70802012, 60901030, 60901029, 70710002, 
120715033, 50203012, 110113007, 130104004, 140103036, 110113003, 
70211014, 120715033, 60901026, 140103029, 120715037, 60901033, 
50203019, 140102087, 130102008, 140103029, 50203017, 140103030, 
50203020, 130102012, 110113006, 70111021, 111202009, 120715037, 
111202007, 140101097, 50430001, 140102095, 110113008, 130102010, 
50203027, 50203019, 71801003, 140102092, 60901034, 120715035, 
120715029, 50430001, 70201047, 130106038, 70111023, 120715026, 
50203031, 120715021, 120715037, 120715011, 50508026, 130102010, 
110104024, 140103033), gen = c("abca1", "abca1", "rxrb", "s18", 
"rxrb", "chuk", "abca1", "b2m", "rxrb", "chuk", "b2m", "gapd", 
"s18", "chuk", "chuk", "rxrb", "rxrb", "gapd", "rxrb", "s18", 
"rxrb", "gapd", "abca1", "abca1", "gapd", "b2m", "abca1", "s18", 
"rxrb", "rxrb", "gapd", "chuk", "rxrb", "s18", "abca1", "s18", 
"chuk", "abca1", "gapd", "gapd", "b2m", "gapd", "gapd", "abca1", 
"abca1", "abca1", "abca1", "b2m", "chuk", "rxrb", "b2m", "gapd", 
"chuk", "gapd", "s18", "gapd", "b2m", "chuk", "abca1", "chuk", 
"abca1", "abca1", "s18", "gapd", "rxrb", "b2m", "s18", "s18", 
"chuk", "s18", "b2m", "chuk", "s18", "chuk", "gapd", "gapd", 
"s18", "chuk", "abca1", "b2m", "gapd", "chuk", "b2m", "b2m", 
"chuk", "b2m", "abca1", "gapd", "chuk", "abca1", "gapd", "rxrb", 
"s18", "b2m", "chuk", "gapd", "b2m", "chuk", "rxrb", "rxrb", 
"rxrb", "s18", "gapd", "chuk", "b2m", "gapd", "gapd", "s18", 
"rxrb", "rxrb", "s18", "s18", "s18", "gapd", "chuk", "abca1", 
"gapd", "chuk", "chuk", "b2m", "chuk", "b2m", "b2m", "rxrb", 
"abca1", "rxrb", "rxrb", "b2m", "s18", "s18", "b2m", "abca1", 
"abca1", "rxrb", "chuk", "gapd", "s18", "s18", "gapd", "abca1", 
"s18", "b2m", "b2m", "b2m", "abca1", "rxrb", "b2m", "abca1", 
"b2m", "gapd"), dCt = c(8.348, 7.316, 5.148, -1.316, 5.304, 4.961, 
6.475, -0.982, 4.995, 4.972, -2.819, 4.231, -1.062, 4.985, 5.382, 
4.615, 5.095, 4.422, 5.448, -1.212, 4.683, 4.207, 4.19, 6.014, 
4.024, -3.487, 5.179, -0.584, 4.842, 5.004, 4.192, 5.402, 4.963, 
-1.022, 5.771, -1.845, 5.55, 5.751, 3.925, 3.654, -2.438, 4.594, 
5.88, 5.651, 6.794, 5.77, 6.256, -2.607, 5.207, 6.018, -3.132, 
4.215, 5.325, 4.799, -1.161, 4.235, -3.432, 5.846, 6.193, 6.125, 
7.36, 5.853, -1.162, 7.406, 5.051, -2.891, -1.083, -1.565, 6.538, 
-1.52, -2.979, 5.569, -1.313, 5.77, 3.998, 4.074, -1.081, 5.705, 
6.678, -2.969, 4.358, 5.203, -3.159, -3.052, 5.55, -2.679, 4.936, 
3.953, 5.964, 6.691, 4.29, 4.781, -1.419, -2.17, 4.853, 4.604, 
-2.654, 5.374, 4.74, 4.899, 4.379, -0.464, 3.634, 5.786, -3.019, 
4.037, 4.601, -1.544, 5.543, 5.19, -0.961, -0.982, -1.232, 3.96, 
5.868, 6.332, 4.54, 6.743, 5.944, -2.981, 7.02, -3.826, -3.429, 
5.648, NA, 4.158, 5.494, -3.097, -1.143, -1.079, -2.924, 5.503, 
5.263, 5.905, 5.275, 3.374, -0.893, -1.799, 4.366, 6.434, -0.968, 
-2.98, -3.123, -2.436, NA, 4.306, -3.239, 5.394, -2.828, 4.248
)), row.names = c(NA, -150L), class = "data.frame")

0 Answers0