У меня есть фрейм данных, который состоит из даты и температуры 34 различных систем, каждая система в отдельном столбце. Мне нужно рассчитать среднюю почасовую температуру каждой системы. Я использую этот код для расчета среднего значения для 1 системы. Но если я хочу вычислить среднее значение для других 33 систем, мне придется повторять код снова и снова. Есть ли лучший способ найти среднее значение по часам сразу во всех столбцах?
dat$ut_ms <- dat$ut_ms/1000
dat[ ,1]<- as.POSIXct(dat[,1], origin="1970-01-01")
dat$ut_ms <- strptime(dat$ut_ms, "%Y-%m-%d %H:%M")
dat$ut_ms <- cut(dat[enter image description here][1]$ut_ms, breaks = 'hour')
meanNPWD2401<- aggregate(NPWD2401 ~ ut_ms, dat, mean)
Я добавил изображение данных. Для лучшего понимания того, что я хочу.
dput(head(dat))
, чтобы мы знали, как сейчас выглядят ваши данные. См. Этот пост о создании воспроизводимого примера в R: stackoverflow.com/questions/5963269/ - person Phil   schedule 10.05.2016split(dat, cut(strptime(dat$ut_ms, format = '%F %R'), 'hour'))
разделит ваши данные на список. Вы можете использоватьlapply
для обхода списка. - person Sotos   schedule 10.05.2016by
тоже подойдет. - person Roman Luštrik   schedule 10.05.2016