Я бы хотел применить аналитические веса к некоторым данным временных рядов, но не уверен, как это сделать в R. Я переписываю код Stata
, а код использует collapse
и [aweight='weightVar']
.Применение аналитических весов к данным временных рядов
Stata Код
collapse temp [aweight='weightVar], by(year);
Как я могу использовать аналитические данные веса для использования croparea
ниже в качестве переменной весовой для temp
для каждого идентификатора каждого года?
Выборочные данные
df <- structure(list(id = c(1, 1, 1, 1, 2, 2, 2, 2), year = c(1900,
1900, 1900, 1900, 1901, 1901, 1901, 1901), month = c(1L, 2L,
3L, 4L, 1L, 2L, 3L, 4L), temp = c(51.8928991815029, 52.8768994596968,
70.0998976356871, 62.2724802472936, 51.8928991815029, 52.8768994596968,
70.0998976356871, 62.2724802472936), croparea = c(50, 50, 50,
50, 30, 30, 30, 30)), .Names = c("id", "year", "month", "temp",
"croparea"), row.names = c(NA, -8L), class = "data.frame")
id year month temp croparea
1 1 1900 1 51.89290 50
2 1 1900 2 52.87690 50
3 1 1900 3 70.09990 50
4 1 1900 4 62.27248 50
5 2 1901 1 51.89290 30
6 2 1901 2 52.87690 30
7 2 1901 3 70.09990 30
8 2 1901 4 62.27248 30
Начните с поваренной книгой по подведению здесь: http://www.cookbook-r.com/Manipulating_data/Summarizing_data/ – patrickmdnet
Вы можете четко заявить задача? По умолчанию функция 'collapse' является' mean'; вы хотите, чтобы среднее значение temps было взвешено по урожаю, сгруппированное по годам? – patrickmdnet
@patrickmdnet Да, это то, что мне нужно, но для каждого идентификатора. Я думаю, мне нужен больший набор данных. – Vedda