У меня есть два кадра данных, Data
и quantiles
. Data
имеет размер 23011 x 2
и состоит из столбцов "year"
и "data"
, где год представляет собой последовательность дней с 1951 года по 2013 год. Quantiles
df имеет размер 63x2
, состоящий из столбцов "year"
и "quantiles"
, где год составляет 63 строки, т.е. 1951:2013
.Сравнение двух данных в функции ddply
Мне нужно сравнить Quantile
df против Data
df и подсчитать сумму значений данных, превышающую значение квантили для каждого года. Для этого я использую ddply
таким образом:
ddply(data, .(year), function(y) sum(y[which(y[,2] > quantile[,2]),2]))
Однако код сравнивает только с первым рядом квантиля и не итерация по каждому из года против ФРА данных. Я хочу перебирать каждый год в quantile
df и рассчитать сумму данных, превышающую quantile
df в каждом году.
Любая помощь будет принята с благодарностью.
Пример проблема - quantile
ФР here и Data
является pasted here
quantile
DF происходит от data
, который является 90-го процентиля data
Df, превышающей значение, 1
quantile = quantile(data[-c(which(prcp2[,2] < 1)),x],0.9)})
Привет, пожалуйста, укажите [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). И есть ли данные квантилей, полученные из исходных данных, или из внешнего источника? – Heroka