【问题标题】:Error in terms.formula(formula, data = data) : '.' in formula and no 'data' argumentterms.formula(公式,数据=数据)中的错误:'。'在公式中,没有“数据”参数
【发布时间】:2016-12-27 06:10:28
【问题描述】:

我为回归分析创建了一个 GUI。

svalue(tbl[2,1]) : 接受 .csv 输入文件

svalue(tbl[4,1]) : 提供一个因变量

enter code here


selected_var=read.csv(svalue(svalue(tbl[2,1]))
sv=selected_var

sv_regression=data.frame(sv)
glm1<<-glm(svalue(tbl[4,1]) ~ . ,data = sv_regression,family = poisson)
reg<<-summary.glm(glm1)$coefficients

reg_result <<-gtable(reg)
add(frame1,reg_result,expand=TRUE)

现在运行这段代码,我得到一个错误

terms.formula(formula, data = data) 中的错误: '。在公式中,没有“数据”参数

【问题讨论】:

  • svalue() 函数来自哪里? read.csv(svalue(svalue(...))) 看起来特别奇怪......为什么你很难将东西分配给上游环境 (&lt;&lt;-),这几乎总是不好的做法?

标签: r gwidgets gui-toolkit


【解决方案1】:

glm()等建模函数需要这个结构中的公式:

`glm(var1 ~ ., data = sv_regression, family = poisson)

var1 应该是您尝试预测的响应变量的名称。在不知道 tblsvalue 是什么的情况下,我无法确切地看到出了什么问题(我怀疑至少有三件事),但是您需要以事先知道变量名称的方式来构造数据位于统计模型中公式的左侧。

例如,假设您依赖于用户在 GUI 中选择的内容,您可以将 sv_regression 中作为响应变量的列重命名为 y(或者更独特的东西,导致与现有名称冲突),在您致电 glm 之前。那么当你打电话给glm 你就知道它会是glm(y ~ ., ...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多