Интегрируем непараметрическую кривую в R - PullRequest
5 голосов
/ 19 октября 2011

Просто предупреждение, я начал использовать R день назад ... мои извинения, если что-то кажется идиотски простым.

Сейчас я пытаюсь заставить R взять файл .txt с данными об ударе по акселерометру и рассчитать для него критерий травмы головы. Тест HIC требует, чтобы кривая из данных была интегрирована в определенный интервал.

Уравнение находится по ссылке ниже ... Я пытался вставить его здесь как изображение, но оно не позволило мне. По-видимому, мне нужно несколько очков репутации, прежде чем это позволит мне сделать это.

equation

a (t) - кривая ускорения.

До сих пор у меня не было проблемы с генерацией подходящей кривой в R для соответствия данным. Функция loess работала довольно хорошо, и это именно то, что я искал ... я просто не знаю, как ее интегрировать. Насколько я могу судить, лесс - это непараметрическая регрессия, поэтому нет способа определить уравнение кривой. Есть ли способ интегрировать это хотя?

Если нет, есть ли другой способ выполнить эту задачу, используя другую функцию?

Буду очень признателен за любую помощь или глубокие комментарии.

Заранее спасибо,

Wes

Еще один вопрос, Джеймс, как я могу просто получить номер без текста и ошибки при использовании функции integrate ()?

1 Ответ

7 голосов
/ 19 октября 2011

Вы можете использовать функцию predict на вашей модели loess, чтобы создать функцию для использования с integrate.

# using the inbuilt dataset "pressure"
plot(pressure,type="l")

# create loess object and prediction function
l <- loess(pressure~temperature,pressure)
f <- function(x) predict(l,newdata=x)

# perform integration
integrate(f,0,360)
40176.5 with absolute error < 4.6

и извлечь только одно значение:

integrate(f,0,360)$value
[1] 40176.5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...