Создание временных рядов, сгруппированных по переменным уровням

Во-первых, важно отметить, что они отличаются друг от друга тем, что gc не удаляет любые переменные , которые вы все еще используете, - только освобождает память для тех, более длинный доступ к (удаленный с помощью rm() или, скажем, создан в функции, которая с тех пор вернулась). Запуск gc() никогда не заставит вас потерять переменные.

Вопрос о том, следует ли вам называть gc() после вызова rm(), тем не менее, является хорошим. Документация для gc помогает:

Вызов gc вызывает сбор мусора. Это также будет происходить автоматически без вмешательства пользователя, и основная цель вызова gc - для отчета об использовании памяти.

Однако, может быть полезно вызвать gc после удаления большого объекта, так как это может побудить R вернуть память в операционную систему.

blockquote>

Таким образом, ответ заключается в том, что полезно называть gc() (и, по крайней мере, не повредить), даже если он, вероятно, будет запущен в любом случае (если не сразу, то скоро).

0
задан Oka 24 March 2019 в 05:11
поделиться

1 ответ

С помощью структуры данных вашего формата вы можете запустить ARIMA следующим образом:

# making the structure
TeamScores <- structure(list(
  Team = c("Abl Christian", "Air Force", "Akron", "Abl Christian", "Air Force", "Akron","Abl Christian", "Air Force", "Akron","Abl Christian", "Air Force", "Akron","Abl Christian", "Air Force", "Akron","Abl Christian", "Air Force", "Akron","Abl Christian", "Air Force"), 
  Score = c(71.7, 67.4, 68.4, 60.6, 71.8, 65.6, 66.8, 60.3, 72, 77.3, 73.6, 70.9, 77.8, 65.3, 75.5, 72.8, 70.2,  78.9, 80.1, 74.1), 
  Year = structure(
    c(17532, 17533, 17534, 17535, 17536, 17537, 17538, 17539, 17540, 17541, 17542, 17543, 17544,     17545, 17546, 17547, 17548, 17549, 17550, 17551), 
    class = "Date")), 
  row.names = c(NA, -20L), 
  class = c("tbl_df", "tbl", "data.frame"))

# make a vector with team names:
teamnames <- c("Abl Christian", "Air Force", "Akron")

# run ARIMA for each team:
for (team in teamnames){
  subdf <- subset(TeamScores, Team==team)
  fit <- auto.arima(subdf$Score,xreg=subdf$Year)
  print(fit)}

P.S. Я не смог запустить arima с вашим примером кода / данных, потому что в этом примере все даты одинаковы (2018-01-01), и каждая группа присутствует только один раз, и вы не можете реально создать временной ряд с одним временным интервалом. ни одно назначение данных на группу. Таким образом, я сделал похожую структуру для тестирования. Также я пропустил создание объекта ts и запустил ARIMA непосредственно на фрейме данных.

0
ответ дан Oka 24 March 2019 в 05:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: