#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. Если это решило вашу проблему, вам рекомендуется установить флажок, чтобы принять его (комментарии «спасибо» на самом деле не рекомендуются для переполнения стека, хотя мнение приветствуется)