У меня есть фрейм данных с большим количеством столбцов (172) и множеством строк, и мне нужно изменить значение одного столбца на основе диапазона столбцов в одном и том же фрейме данных.
COL1 COL2 COL3 ... COL17 ...
1
2 X
3 d
4 98
Впредыдущий кадр данных, я хотел бы изменить значение COL2 на «ошибка», если ЛЮБОЙ столбцов в диапазоне от COL3 до COL17 имеет какое-либо значение.Ожидаемый результат будет:
COL1 COL2 COL3 ... COL17 ...
1
2 error X
3 error d
4 error 98
Как видно выше, первая строка не получает ошибок, потому что нет никаких значений между COL3 и COL17, но другие строки получают ошибку в COL2, так как есть значения либо в COL3,COL17 или любой столбец между этими 2.
Я знаю, что могу достичь этого с ifelse()
, но число строк, которые мне нужно проверить, довольно велико (диапазон составляет приблизительно 50 столбцов), поэтомуifelse()
утверждение было бы ужасно, к тому же я не думаю, что оно было бы очень эффективным.
Заранее спасибо за любую помощь.