R编程

时间:2016-02-05 12:28:11

标签: r regression linear-regression

这是一个R问题,而不是统计问题。

我正在尝试在R中对一组20个自变量和1个因变量执行多元线性回归。 20个独立变量位于一个csv文件中,1个因变量位于另一个csv文件中。每个文件中的每一行对应一天一次测量。

我设法使用read.csv(...)将20个独立变量导入到名为“predictors”的(变量?)中。然后我再次使用read.csv(...)将依赖测量值导入称为“依赖”的(变量?)。

然而当我使用lm(依赖~X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 + X11 + X12 + X13 + X14 + X15 + X16 + X17 + X18 + X19 + X20 )

(注意:X_1,...,X20是该csv文件中预测变量列的标题)

我收到错误:

  

model.frame.default中的错误(公式=依赖~X1 + X2 + X3 + X4 + X5 +:     变量'dependent'的无效类型(列表)

我无法理解出了什么问题?

预测变量文件看起来像(但最多为X20)

enter image description here

和依赖的csv文件看起来像

enter image description here

1 个答案:

答案 0 :(得分:1)

让我们为df提供一些随机数据:

df<-replicate(5,rnorm(20))
names<-paste0('X',1:5)
colnames(df)<-names

依赖已在评论中给出,因此我们可以使用cbind创建一个数据框:

newDf<-cbind(dependent,df)

head(newDf)
#    dependent           X1         X2         X3           X4          X5
# 1 0.49295341 -1.728304515  0.9902622  0.6164557  0.904435464 -0.65801021
# 2 0.04331689  0.641830028  2.3829267  0.6165678  0.002691661  0.85520221
# 3 0.53106346 -1.529310531  0.6644159 -1.6921015 -1.176692158  1.15293623
# 4 0.06983530  0.001683688  0.2073812  0.3687421 -1.318220727  0.27627456
# 5 0.74574779  0.250247821 -2.2106331  0.9678592 -0.592997366  0.14410466
# 6 0.56349179  0.563867390  2.6917140  1.2765787  0.797380501 -0.07562508

然后我们可以运行回归:

lm(dependent~.,newDf) # . selects all the other columns of newDf

# Call:
# lm(formula = dependent ~ ., data = newDf)

# Coefficients:
# (Intercept)           X1           X2           X3           X4           X5  
#     0.50522     -0.09975     -0.03040      0.06431     -0.00398     -0.09596