Вот воспроизводимый пример:
year <- as.vector(c(rep(1949,5), rep(1950,5), rep(1951,5), rep(1952,5)))
bracket <- as.vector(c(rep(c(10,20,30,40,50),4)))
datasmall <- as.data.frame(cbind(year,bracket))
yearbig <- as.vector(c(rep(1949,10), rep(1950,10), rep(1951,10), rep(1952,11)))
earnings <- as.vector(runif(41, 10, 60))
databig <- as.data.frame(cbind(yearbig,earnings))
Я хочу создать новую переменную в большой базе данных (назовем ее maxbracket), которая имеет максимальное значение скобки из "datasmall" в общем заданном году (значения в скобках могут меняться каждый год) среди этих только значений в скобках ниже значения каждого данного наблюдения за доходами.
Я пробовал это:
databig$maxbracket <- NA
for (i in 1949:1952) {
databig$maxbracket[databig$yearbig==i] <- max(datasmall$bracket[datasmall$year==i &
(datasmall$bracket < databig$earnings[databig$yearbig==i])], na.rm = T)}
Но это дает мне ошибку.Любая помощь приветствуется!Спасибо!!