R As公式中的意外符号,Can';找不到
我一直在使用R As公式中的意外符号,Can';找不到,r,string,text,syntax-error,formula,R,String,Text,Syntax Error,Formula,我一直在使用as.formula来设置glm,但我不知道意外符号在哪里。部分问题是我转换的字符向量太长。它大约有700个单词,中间插入了+,以便将其转换为公式。错误如下所示: Error in parse(text = x, keep.source = FALSE) : <text>:2:10080: unexpected symbol 我可以肯定的是: 没有重复的项目 除了字母数字和下划线()之外,没有其他符号 没有项目以数字开头 我对R不够精通,无法理解如何阅读as.f
as.formula
来设置glm,但我不知道意外符号在哪里。部分问题是我转换的字符向量太长。它大约有700个单词,中间插入了+
,以便将其转换为公式。错误如下所示:
Error in parse(text = x, keep.source = FALSE) :
<text>:2:10080: unexpected symbol
我可以肯定的是:
)之外,没有其他符号as.formula
或函数调用本身的文档
有什么想法吗?代码:2:10080正在为您提供错误的位置。第二行,第10080个字符。考虑:
parse(text="1 + 1 + 2\n a - 3 b")
# Error in parse(text = "1 + 1 + 2\n a - 3 b") :
# <text>:2:8: unexpected symbol
解析(text=“1+1+2\n a-3 b”)
#分析时出错(text=“1+1+2\n a-3 b”):
#:2:8:意外符号
这里的错误是b
,这是对符号的非法使用,您会注意到它是第二行的第8个字符
很可能您丢失了一个
+
,但如果没有错误背后的数据,就无法知道。另外,不是为了判断什么,但这是一个非常多的变量要坚持到一个模型。我希望你有很多数据点。以下是我解决这个问题的方法
features = make.names(features)
right_side = paste0(features, collapse=" + ")
fml = as.formula(sprintf(" ~ %s", right_side))
这只是一个语法错误,对于这么长(太长)的公式,您只需仔细观察,这将是乏味的。但是如果没有完整的
as.formula
调用和将要转换为公式的完整字符向量,我们就无法发现语法错误。呃,我就是这么想的。您认为在复制粘贴后尝试运行glm是否仍然有效?因为我试过分析文本,但没有迹象表明出了什么问题。向量太长了,当我把它放到源代码中时,它的后半部分甚至都不是绿色的。复制并粘贴到一个普通的旧文本编辑器中,然后开始搜索。我没有太多使用子字符串的经验,但是有没有一个函数来指定公式中该区域的字符?我猜调用的第一行是“Dependent\u Variable~”
,第二行是公式的其余部分。另一个主要问题是文本中只有16000个字符,所以我不知道如何找到符号。我认为这将是最好的方法。100080错误是我第一个来这里的原因。我想知道是否还有其他解决办法。有趣的是,这甚至不是我用过的最长的向量。找到了!我忘了删除其中一个部分中的空格。
features = make.names(features)
right_side = paste0(features, collapse=" + ")
fml = as.formula(sprintf(" ~ %s", right_side))