为啥会有意外的输入?错误:“reg1 <- lm(años_escolaridad ∼”中的意外输入

Posted

技术标签:

【中文标题】为啥会有意外的输入?错误:“reg1 <- lm(años_escolaridad ∼”中的意外输入【英文标题】:Why is there an unexpected input? Error: unexpected input in "reg1 <- lm(años_escolaridad ∼"为什么会有意外的输入?错误:“reg1 <- lm(años_escolaridad ∼”中的意外输入 【发布时间】:2022-01-18 05:18:49 【问题描述】:

我正在研究线性回归。

构建回归模型时报错为:

Error: unexpected input in "reg1 <- lm(años_escolaridad ∼"

【问题讨论】:

欢迎来到 ***。为了提出更好的问题,请拨打tour,阅读How to ask a good question 和Minimal, Complete, and Verifiable Example 和How to make a great R reproducible example。请在问题中包含数据和您尝试过的代码。 我编辑了问题正文以更正拼写并删除不必要的(拼写错误的谢谢)。您应该使用适当的大写和撇号来表示缩写。有足够的信息来回答我现在要做的问题。 啊。这个问题并不“需要调试细节”。通过在问题标题中准确粘贴这些字符(以及足够的填充以使解析器扫描它们),已经有足够的信息可以明确正确地回答“为什么”标题中的特定代码片段会出现特定错误进入 R 控制台会话并在不需要数据的情况下复制该错误。我已经搜索了一个副本,但到目前为止一直找不到一个。似乎其他人将来会遇到类似的困难因此我投票重新开放。 @IRTFM 现已重新开放。我确实认为问题的实际内容应该被编辑为比现在更多的东西。 @Dason。这种类型的错误发生在解析阶段,在对工作空间进行任何检查以收集用于计算的值之前。我想知道是否有任何关于 R 执行的解释器处理阶段的 SO Q&A 会通知需要解释错误消息的用户? 【参考方案1】:

您收到的错误是因为您的波浪号“~”不是真正的波浪号“~”。请注意,您使用的波浪号更长。只有 ASCII 值为 126 的波浪号才能成功作为 formula 函数的正确中缀速记:

R.oo::charToInt("~")
[1] 126
R.oo::charToInt("∼")
[1] NA

我不知道你是如何得到那个假模仿者的,但也许你正在使用 MS Word 或其他一些文字处理软件来输入一个非 ASCII 的波浪号。

 f <-  z ~ x + y
 f
#z ~ x + y    Successful creation of a formula object
 f2 <-  z ∼ x + y
#Error: unexpected input in "f2 <-  z ∼" Failure to create formula

【讨论】:

我不确定。 OP 没有说明它是如何进入代码的。这当然不是您可以通过查看它轻松识别的东西。而且我认为答案提到了潜在有用的实用功能。 在这种情况下,错误消息的文本就足够了。我承认这是一个不寻常的事件。通常,仅发布错误消息的人无法理解只有完整的上下文才能提供帮助。我想通过发现那个不寻常的伪波浪字符并演示如何诊断问题,我现在给 OP 的印象是,只发布错误消息是典型的 SO 票价。我希望 OP 没有形成这种观点。

以上是关于为啥会有意外的输入?错误:“reg1 <- lm(años_escolaridad ∼”中的意外输入的主要内容,如果未能解决你的问题,请参考以下文章

Counter.most_common 是不是有意外的数字结果

当我上传我的 .png 图标时,“Android Asset Studio”会增加额外的空间,但在使用其内部剪贴画时不会。为啥?

Qt 应用程序有意外的 QDir::currentPath

在 Xcode 中自动调整标签行的大小有意外的结果

带有 iOS 7 的 Xcode 5 中的 NSInternalInconsistencyException:“故事板:容器视图中有意外的子视图。”

为啥此代码会为大输入提供分段错误