![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 43 Регистрация: 4.01.2012 Пользователь №: 23400 ![]() |
Добрый день.
Помогите, пожалуйста, написать алгоритм для R. У меня две базы данных, одна из них включает номер пациента, дату каждого измерения (как правило, измерение проводилось в среднем каждуjу неделю в течении 1 года ) и номер недели (1,2,3...54), вторая база включает информацию о ежедневной температуре воздуха. Задача: нужно посчитать среднюю температуру, предшествующую каждому измерению. Например, для первой недели нужно рассчитать среднюю темп за 7 дней до измерения (28apr1999-7дней), для второй недели за период 28apr1999-07may1999 и т.д. FID studydate week 1 28apr1999 1 1 07may1999 2 1 14may1999 3 1 21may1999 4 Second dataset temp date 5.37 1999-04-20 2.13 1999-04-21 1.6 1999-04-22 -0.17 1999-04-23 2.53 1999-04-24 Спасибо! |
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 43 Регистрация: 4.01.2012 Пользователь №: 23400 ![]() |
Спасибо!
У меня вопрос, почему к(width of moving window)=3? Не совсем поняла, как работает предложенный вами метод.. Я думала, что нужно написать loop для решения этой задачи. Но мои попытки не дали желаемого результата.. airpollution <- read.table("C:.../Pay.csv",blank.lines.skip = TRUE,fill=T,header=T,sep=";") summary(airpollution) dat <- paste(airpollution[,3],"-",airpollution[,2],"-",airpollution[,1],sep="") dat <- as.Date(dat, format="%Y-%m-%d") pay <- cbind(airpollution,dat) x <- read.dta("C:/.../symptoms.dta") x$stday <- as.Date(x$stday, origin="1960-01-01",format="%Y-%m-%d") temp<- rep(NA, length(x$FID)) index <- 1:length(pay$dat) pm10<- rep(NA, length(x$FID)) for (i in 1:length(x$FID)) { start <- x$stday[i]==pay$dat s <- index[start] end <- x$stday[i]+1==pay$dat e <- index[end] pm10[i] <- mean(pay$pm10[s:e],na.rm = T) paytemp[i] <- mean(pay$temp[s:e],na.rm = T) } Не уверена насчет этой части end <- x$stday[i]+1==pay$dat +1 это значит, что следующая строка, или я ошибаюсь? |
|
![]() |
![]() |
![]() ![]() |