Qual é a diferença entre lm (ofensa $ R ~ ofensa $ OBP) e lm (R ~ OBP)?

Estou tentando usar R para criar um modelo linear e usá-lo para prever alguns valores. O assunto é estatísticas de beisebol. Se eu fizer isso:

obp <- lm(offense$R ~ offense$OBP)
predict(obp, newdata=data.frame(OBP=0.5), interval="predict")

Recebo o erro: Mensagem de aviso: 'newdata' tinha 1 linha, mas as variáveis encontradas têm 20 linhas.

No entanto, se eu fizer isso:

attach(offense)
obp <- lm(R ~ OBP)
predict(obp, newdata=data.frame(OBP=0.5), interval="predict")

Funciona como esperado e recebo um resultado. Qual é a diferença entre os dois? Se eu apenas imprimir OBP e ofender $ OBP, eles terão a mesma aparência.

questionAnswers(2)

yourAnswerToTheQuestion