У меня есть большой фрейм данных из 1129 строк и 4662 столбцов. Я хочу суммировать значения строк в кадре данных с интервалами в каждые 3 столбца, а затем возвращать 1 для каждой из этих сумм, если сумма строк в каждых 3 столбцах была> 0, или возвращать 0, если сумма <1. Ниже я добавил небольшой воспроизводимый пример. Я хотел бы просуммировать значения строк из столбца 1 в столбец 3, а затем значения строк из столбца 4 в столбец 8 (и так далее в моих реальных данных). </p>
df <- read.table(text =" 2005-09-23_2005-09-26 2005-09-27_2005-10-30 2005-10-07_2005-10-08 2005-10-09_2005-10-10 2005-10-11_2005-10-12 2005-10-13_2005-10-14
1 1 0 1 1 1 1
2 1 1 0 0 0 0
3 NA NA NA NA NA 0", header = TRUE)
Результат, который я получил после было бы так:
result <- read.table(text =" 2005-09-23_2005-10-08 2005-10-09_2005-10-14
1 1 1
2 1 0
3 NA 0", header = TRUE)
Я искал похожие вопросы, и кажется, что rollapply ( R: суммирование по интервалу строк ) ИЛИ rowum может работать ( R: суммирование в интервале строк ), но я не могу найти способ суммировать строки, используя столбцы в качестве интервалов вместо строк, или как сделать это в повторяющейся последовательности. Не мог бы кто-нибудь помочь мне с кодом для этого? Спасибо большое!