Хорошо, второй вопрос R в быстрой последовательности.
Мои данные:
Timestamp St_01 St_02 ...
1 2008-02-08 00:00:00 26.020 25.840 ...
2 2008-02-08 00:10:00 25.985 25.790 ...
3 2008-02-08 00:20:00 25.930 25.765 ...
4 2008-02-08 00:30:00 25.925 25.730 ...
5 2008-02-08 00:40:00 25.975 25.695 ...
...
Обычно я бы использовал комбинацию ddply
и summarize
для расчета ансамблей (например, среднее значение за каждый час в течение всего года).
В приведенном выше случае я бы создал категорию, например. час (например, strptime(data$Timestamp,"%H") -> data$hour
, а затем используйте эту категорию в ddply
, например ddply(data,"hour", summarize, St_01=mean(St_01), St_02=mean(St_02)...)
, для усреднения по категориям в каждом из столбцов.
но вот где это становится липким. У меня более 40 столбцов, и я не готов вводить их все один за другим в качестве параметров функции summarize
. Раньше я писал цикл в оболочке для генерации этого кода, но это не то, как программисты решают проблемы, не так ли?
Итак, скажите, пожалуйста, есть ли у кого-нибудь лучший способ добиться того же результата, но с меньшим количеством нажатий клавиш?
St
, а затем используйте свои любимые функции агрегированияby
,aggregate
,ddply
для объединения с помощьюc(hour,index)
, гдеindex
— это переменная, созданная при изменении формы. - person Ari B. Friedman   schedule 28.05.2012