У меня есть набор данных, похожий на тот, который показан в коде.
Я гарантированно то, что "(var) x" (домен) переменной всегда находится между 0 и 1.«(var) y» (co-domain) может варьироваться, но также ограничено, но в более широком диапазоне.
Я пытаюсь получить среднее значение по «(var) x», но по различным переменным.
Я бы хотел какое-то выборочное усреднение, не уверен, как это сделать в R.
ax=c(0.11,0.22,0.33,0.44,0.55,0.68,0.89)
ay=c(0.2,0.4,0.5,0.42,0.5,0.43,0.6)
bx=c(0.14,0.23,0.46,0.51,0.78,0.91)
by=c(0.1,0.2,0.52,0.46,0.4,0.41)
qx=c(0.12,0.27,0.36,0.48,0.51,0.76,0.79,0.97)
qy=c(0.03,0.2,0.52,0.4,0.45,0.48,0.61,0.9)
a<-list(ax,ay)
b<-list(bx,by)
q<-list(qx,qy)
Что бы я хотел получить что-то вроде
avgd_x = c(0.12,0.27,0.36,0.48,0.51,0.76,0.79,0.97)
и
avgd_y
будет иметь содержимое, которое будет
найти значение ay
и by
при 0,12 и найти среднее с ay
, by
и qy
.
Аналогично и так далее для всех значений в векторе с наибольшим количеством элементов.
Как я могу сделать это в R?
PS: это набор игрушечных данных, мой набор данных распределен по файлам, и я читаю их с помощью пользовательской функции, но необработанные данные доступны, как показано в коде ниже.
Редактировать:
Некоторые пояснения:
avgd_y
будет иметь длину наибольшего вектора, например, в случае выше, avgd_y
будет (ay'+by'+qy)/3
, где ay'
и by'
будут векторами, которые имеют c(ay(qx(i)))
и c(by(qx(i)))
для i от 1 до длины qx
, ay'
и by'
будут иметь значения, интерполированные в точках данных qx