Julia 朱莉娅:在@formula中,我如何指定除target之外的所有列?
在R 将使用除目标之外的所有数据列拟合模型 如何使用Julia 朱莉娅:在@formula中,我如何指定除target之外的所有列?,julia,Julia,在R 将使用除目标之外的所有数据列拟合模型 如何使用@formula宏在Julia中实现同样的效果 glm(target ~., data=data) 不起作用为了简单起见,我假设数据是DataFrames.jl中的数据帧。下面是一个如何执行此操作的示例: glm(@formula(target ~ .), data) 但是,通常我会尽量避免这样做(即使用同义词),因为明确指定模型中要包含的变量通常更安全。请注意,在我展示的模式中,这非常容易,因为您需要做的唯一一件事是将名称(df,而不是(
@formula
宏在Julia中实现同样的效果
glm(target ~., data=data)
不起作用为了简单起见,我假设
数据
是DataFrames.jl中的数据帧。下面是一个如何执行此操作的示例:
glm(@formula(target ~ .), data)
但是,通常我会尽量避免这样做(即使用同义词
),因为明确指定模型中要包含的变量通常更安全。请注意,在我展示的模式中,这非常容易,因为您需要做的唯一一件事是将名称(df,而不是(:x1))
替换为要包含的变量列表,例如
julia> df = DataFrame(rand(6, 5))
6×5 DataFrame
│ Row │ x1 │ x2 │ x3 │ x4 │ x5 │
│ │ Float64 │ Float64 │ Float64 │ Float64 │ Float64 │
├─────┼────────────┼───────────┼──────────┼──────────┼───────────┤
│ 1 │ 0.774058 │ 0.248908 │ 0.926771 │ 0.544818 │ 0.159493 │
│ 2 │ 0.549339 │ 0.60138 │ 0.711105 │ 0.916472 │ 0.703073 │
│ 3 │ 0.455965 │ 0.0912193 │ 0.178479 │ 0.472463 │ 0.0229811 │
│ 4 │ 0.0242736 │ 0.0131428 │ 0.833545 │ 0.232273 │ 0.170568 │
│ 5 │ 0.00796519 │ 0.0655102 │ 0.326123 │ 0.61535 │ 0.148247 │
│ 6 │ 0.653029 │ 0.695704 │ 0.817001 │ 0.11801 │ 0.459253 │
julia> lm(term(:x1) ~ sum(term.([1; names(df, Not(:x1))])), df)
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Array{Float64,1}},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}},Array{Float64,2}}
x1 ~ 1 + x2 + x3 + x4 + x5
Coefficients:
─────────────────────────────────────────────────────────────────────────────
Estimate Std. Error t value Pr(>|t|) Lower 95% Upper 95%
─────────────────────────────────────────────────────────────────────────────
(Intercept) -0.24995 0.358235 -0.697725 0.6122 -4.80176 4.30186
x2 2.12158 0.784308 2.70504 0.2254 -7.84399 12.0872
x3 0.483761 0.411032 1.17694 0.4484 -4.73889 5.70641
x4 0.747987 0.48225 1.55104 0.3646 -5.37958 6.87555
x5 -2.21183 1.03313 -2.14091 0.2782 -15.339 10.9153
─────────────────────────────────────────────────────────────────────────────
正如你所看到的,它非常灵活
names(df, All(r"first_type_of_predictors", r"second_type_of_predictors")))