Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plot 朱莉娅:迭代数据帧中的列并计算线性回归_Plot_Julia_Linear Regression - Fatal编程技术网

Plot 朱莉娅:迭代数据帧中的列并计算线性回归

Plot 朱莉娅:迭代数据帧中的列并计算线性回归,plot,julia,linear-regression,Plot,Julia,Linear Regression,我有一个数据框,有10列(功能)COL0到COL9,以及一列RESP。如何分别计算每对COL0到COL9的线性回归模型? 我希望得到10个显示模型的图表,还有一个表格,每个列都有我的模型系数 我试着做的是: model2 = fit(LinearModel, @formula(RESP ~EXPL_0 + EXPL_1 + EXPL_2 + EXPL_3 + EXPL_4 + EXPL_5 + EXPL_6 + EXPL_7 + EXPL_8 + EXPL_9), df) 我得到了我想要的

我有一个数据框,有10列(功能)COL0到COL9,以及一列RESP。如何分别计算每对COL0到COL9的线性回归模型? 我希望得到10个显示模型的图表,还有一个表格,每个列都有我的模型系数

我试着做的是:

model2 = fit(LinearModel, @formula(RESP ~EXPL_0 + EXPL_1 + EXPL_2 + 
EXPL_3 + EXPL_4 +  EXPL_5 + EXPL_6 + EXPL_7 + EXPL_8 + EXPL_9), df)
我得到了我想要的

我还需要知道如何绘制所有这些图表 如果我有
COL0到COL1000
,如何避免键入从0到1000的所有列

我是朱莉娅的新手,我真的不知道该怎么做。有什么帮助吗


谢谢

正如Bogumil所说,在一篇关于StackOverflow的帖子中问很多问题并不理想-你的问题应该定义明确,目标明确,最好是有一个最简单的工作示例,让人们更容易帮助你

因此,让我们从我的帖子标题中回答我的主要问题:如何用包含许多响应列的
GLM
拟合线性回归模型。这个问题几乎是重复的,因此一个非常相似的答案适用于:在数据帧中的
名称上广播
术语
函数,您希望在右侧包含该函数,如下所示:

julia> using DataFrames, GLM

julia> df = hcat(DataFrame(RESP = rand(100)), DataFrame(rand(100, 10), :auto));

julia> mymodel = lm(term(:RESP) ~ sum(term.(names(df[!, Not(:RESP)]))), df)
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}}}}, Matrix{Float64}}

RESP ~ 1 + x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10
(...)
你也会问关于密谋的问题,但这可能最好在另一个问题中解决。您可以使用
coef
函数访问线性模型的估计系数,例如:

julia> coef(mymodel)
11-element Vector{Float64}:
  0.504236533528822
  0.11712812154185266
 -0.0206810430546413
 -0.15693089456050294
 -0.011916514466331067
 -0.1030171434361648
  0.10378957999147352
 -0.09447743618381275
 -0.08860977078650123
  0.0816071818033377
  0.09939548661830626
并使用
coeftable
进行完整输出


最后请注意,除非您已经标准化了回归系数,否则您不一定会从评论中看到哪些列对您的模型“影响最大”。

请考虑添加一个最小的工作示例。我不确定每个人是否都知道@formula来自StatsModels.jl,或者是否愿意查找它。我也不清楚你想做什么。绘制某种图形。。。?为什么从最初的10栏突然有1000栏?我说10栏是为了更容易解释。我可以使用N列+预测列的数据帧。我想绘制图表,对我来说重要的是知道哪些列对我的模型影响最大,我的意思是哪些数据列显示了较高或较低的系数。如何提取对我的模型影响最大的前三名?也许像Pyton那样的热图…我对朱丽亚真的很新。所以,我的问题是:如何计算公式来考虑一系列的列?如何自动绘制每对列+PRED?如何提取对我的模式影响最大的前三列数据?你问了很多问题,其中一些问题涉及面很广。我将从第一个问题开始——如何以编程方式为模型选择列。要做到这一点,请查看本教程,它向您展示了如何在示例上以编程方式构造公式。这里还有一个链接,指向解释它的文档:。