Усреднение векторов различной длины с одинаковым диапазоном доменов в R - PullRequest
1 голос
/ 11 апреля 2019

У меня есть набор данных, похожий на тот, который показан в коде.

Я гарантированно то, что "(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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...