Я в недоумении для кодирования этого в R. Любая помощь будет оценена.Я пытаюсь установить несколько фреймов данных, каждый из которых содержит сотни строк данных.Правило подмножества: последовательно анализируйте данные (сверху вниз), чтобы результат отражал все строки, которые суммируются с предварительно выбранным максимальным значением или меньше (приближается к максимальному значению, если не совпадает).Выходные данные должны сохранять последовательность строк и связанных столбцов до этой точки.
В качестве тривиального примера того, что я пытаюсь выполнить:
set.seed(78) # for reproducibility
dat <- as.data.frame(matrix(c(0.1, 0.2, 0.5, 0.8, 1.1)), ncol = 1, nrow = 5)
dat$type <-c("ABC", "DEF", "GHI", "JKL", "MNO")
dat
V1 type
1 0.1 ABC
2 0.2 DEF
3 0.5 GHI
4 0.8 JKL
5 1.1 MNO
Допустим, цель состоит в том, чтобы последовательно поднабор dat
, чтобы сумма столбца V1 была равнаили меньше чем 1.6.В этом случае результат будет следующим:
V1 type
1 0.1 ABC
2 0.2 DEF
3 0.5 GHI
4 0.8 JKL
Найти этот результат вручную в этом примере, конечно, тривиально:
dat[1:4,]
V1 type
1 0.1 ABC
2 0.2 DEF
3 0.5 GHI
4 0.8 JKL
Что, конечно, составляет 1,6:
sum(dat[1:4,1])
[1] 1.6
Как я могу программно кодировать это в R, чтобы выполнить этот анализ для многих фреймов данных, каждый с десятками или сотнями строк и каждый с различным целевым значением максимального значения?Спасибо !!!