Как запустить модель линейной регрессии, основанную на частоте событий в год

#r #plot #linear-regression

#r #график #линейная регрессия

Вопрос:

У меня есть набор данных, в котором подробно описаны тысячи футбольных матчей по всему миру с 1990-х годов. Я хотел бы построить график, а затем запустить простую линейную модель числа games ~ Year .

Нужно ли мне создавать новый фрейм данных, который подсчитывает общее количество игр за год? или есть функция, которую я могу использовать в lm and plot ?

Ответ №1:

Да, сначала вам нужно свести данные в таблицу. Предполагая, что на игру приходится одно наблюдение, т. Е. Что Данные выглядят примерно так:

 dd <- data.frame(year=rep(1999:2002,times=c(1:3,2)),other=NA)
 

Затем вам нужно (1) составить таблицу и преобразовать во фрейм данных; (2) преобразовать год обратно в числовое значение (категории в таблице всегда изначально являются факторами), (3) выполнить линейную регрессию.

 tt <-  as.data.frame(table(year=dd$year))
tt$year <- as.numeric(as.character(tt$year))  ## convert from factor to numeric
lm(Freq ~ year, data=tt)
 

Возможно, вы захотите использовать что-то вроде Freq ~ I(year-min(year)) , чтобы ваш перехват означал что-то разумное (прогнозируемое количество игр в первый год в наборе данных, а не прогнозируемое количество игр в год н.э. (CE) 0).

Комментарии:

1. Если это решило вашу проблему, вам рекомендуется установить флажок, чтобы принять его (комментарии «спасибо» на самом деле не рекомендуются для переполнения стека, хотя мнение приветствуется)