首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为多重回归编写代码

为多重回归编写代码
EN

Stack Overflow用户
提问于 2015-02-28 03:50:58
回答 1查看 102关注 0票数 0

我有一个数据框,其中有几列和几行。例如,下面的数据框显示第1列到第4列是我的土壤水分数据,第5列到第8列是蒸散(ET),第9列到第12列是降水数据(p)。我有156colum土壤水分,ETP。现在,我想对土壤水分列和相应的降水和蒸散列进行多元线性回归,其中我的土壤水分是因变量,ETP是自变量。在运行多元回归时,我想使用以下方程作为我的自变量,并计算a1a2b1b2等系数。

代码语言:javascript
复制
ΔΦ(j.t+1) = a1P(j.t) + a2P(J.t-1) + b1ET(j.t) + b2ET(J.t-1)+εt+1

其中Δθ(j,t+1)tt+1之间的土壤水分差,ab是要确定的降水量(P)和蒸散(ET)的系数,εt+1是模型的误差项。

我的数据框如下所示:

1 2 3 4 5 6 7 8 9 10 11 12

NA NaN NA 645 732 1010 1050 169.7152863 264.919281 174.5597839 117.1220169 117.1220169 1.788969846 1.769300308 1.881795708 1.798497618 NaN 183.5778961 272.1306458 164.4124298 3.41084 3.41084 NA 576 657 840 817 166.3976135 263.9378357 161.8202972 97.60928345 1.995551665 2.037976549 2.144578129 2.065179551 533 597 747 744 151.7550201 265.6147766 155.722702 91.79171753

到目前为止,我使用了以下代码在R编程语言中创建了数据框架和矩阵,并希望得到进一步的帮助来完成任务。

代码语言:javascript
复制
data = read.table('MasterPiece.csv',header=TRUE, sep=',')
SMDI = data.frame(data1[3:158])      #Soil moisture
MODET = data.frame(data[159:314])    #Evapotranspiration
PRCP = data.frame(data[315:470])     #Precipitation
smdi1 = data.matrix(SMDI)
modet1 = data.matrix(MODET)
prcp1 = data.matrix(PRCP)
EN

回答 1

Stack Overflow用户

发布于 2015-03-02 05:15:00

线性回归函数lm()采用以下参数:

代码语言:javascript
复制
lm(dependentVariable ~ independentVariable1 + independentVariable2, data = df)

其他人可能会指出一种绕过它的方法,但我认为这意味着所有的变量(列)必须在一个数据框中。因此,您的第一行代码是正确的:

代码语言:javascript
复制
data <- read.table("MasterPiece.csv", header = TRUE, sep = ",")

(注意:赋值时建议使用<-,不要使用= )。您不需要将变量放在单独的数据框中。

例如,如果您的变量名是:smdi1...,modet1...,prcp1...您可以使用以下命令运行模型:

代码语言:javascript
复制
m1 <- lm(smdi1 ~ modet1 + prcp1, data = data)
summary(m1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28773154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档