У меня возникают проблемы с созданием кода, который будет чисто производить среднее значение (в частности, средневзвешенное значение) на основе простого графика точек с использованием интерполяции.Как правильно использовать интерполяцию между точками для генерации среднего значения в R
Для примера;
ex=c(1,2,3,4,5)
why=c(2,5,9,15,24)
Это показывает информацию, с которой я работаю.
plot(ex, why, type="o")
На данный момент, я хочу на самом деле иметь каждую точку «binned», чтобы линии между ними были прямыми. Чтобы сделать это, я добавлял точки к значениям x вручную в excel как (x + 0.01). Это новый выход:
why=c(2,2,5,5,9,9,15,15,24,24)
ex=c(1,2,2.01,3,3.01,4,4.01,5,5.01,6)
plot(ex, why, type="o")
Так вот где мой вопрос приходит играть. Я должен делать это много раз и не хочу генерировать тонну новых векторов и объектов. Чтобы получить средневзвешенное значение, я интерполировал значения y для приращений x в 0,01, используя интерполяцию в новый объект. Я тогда в состоянии войти в этом новый объект и получить среднее значение, когда точка попадет между фактическими значениями бывших, т.е.
mean(newy[1:245])
Потому что я сделал новые Y значения для 100 приращения х, что (в основном) следует прямому line, я получаю средневзвешенное значение для x = 1 до 2.45.
Есть ли более простой и элегантный способ встраивания интерполяционного кода в средний код, поэтому я могу просто сказать «среднее значение интерполированного y для нереального x для нереального x?»
Под "прямой" Я предполагаю, что вы имеете в виду "горизонтальный". Вас интересует сюжет здесь, или вы заинтересованы в вычислении взвешенного среднего времени? – user295691