Поскольку вы, похоже, новичок в R, а программирование и статистика в целом - это простой способ получить ваши данные в более удобный формат для простой линейной модели, используя функцию lm(...)
. Несколько замечаний о том, что здесь происходит: вы не можете иметь имена столбцов, которые являются числовыми, проще/предпочтительнее работать с простым моделированием с отдельными столбцами, следовательно, изменять форму.
gdp <- data.frame(country = c('Afghanistan', 'Belarus', 'Belgium'),
x2000 = c(3, 5, 7),
x2001 = c(4, 6, 8),
x2002 = c(5, 7, 9),
x2003 = c(6, 8, 10)
)
emp <- data.frame(country = c('Afghanistan', 'Belarus', 'Belgium'),
x2000 = c(3, 10, 7),
x2001 = c(4, 11, 10),
x2002 = c(5, 12, 11),
x2003 = c(6, 15, 13)
)
require(reshape)
gdp.long <- reshape(gdp,
varying = c('x2000', 'x2001', 'x2002', 'x2003'),
v.names = 'gdp',
timevar = 'year',
times = c('x2000', 'x2001', 'x2002', 'x2003'),
direction = 'long'
)
emp.long <- reshape(emp,
varying = c('x2000', 'x2001', 'x2002', 'x2003'),
v.names = 'emp',
timevar = 'year',
times = c('x2000', 'x2001', 'x2002', 'x2003'),
direction = 'long'
)
df <- merge(gdp.long, emp.long, by = c('country', 'year'))
df$year <- as.numeric(gsub('x', '', df$year))
model <- lm(gdp~emp, data = df)
Теперь ваша линейная модель выглядит следующим образом:
> summary(model)
Call:
lm(formula = gdp ~ emp, data = df)
Residuals:
Min 1Q Median 3Q Max
-1.9612 -1.0084 -0.1199 1.1081 1.7618
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.7043 1.0150 2.664 0.02372 *
emp 0.4257 0.1053 4.043 0.00235 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.336 on 10 degrees of freedom
Multiple R-squared: 0.6204, Adjusted R-squared: 0.5825
F-statistic: 16.34 on 1 and 10 DF, p-value: 0.00235
Какова форма статистической регрессии вы хотите запустить (четко указать ответ и ковариат). «Стандартная» функция для линейной регрессии по крайней мере равна «lm()». Вы пытались использовать эту функцию? С какими конкретными проблемами вы сталкиваетесь? Если бы вы хотели чего-то другого, кроме линейной модели, какую модель вы хотели? Как написано, это действительно не вопрос программирования. Если вам нужны статистические рекомендации, попробуйте [stats.se]. – MrFlick