分析(text=str)时出现意外符号错误,数字后带有连字符

分析(text=str)时出现意外符号错误,数字后带有连字符,r,parsing,R,Parsing,我正在尝试解析R中的字符串。 当字符串中有一个数字后跟一个连字符时,R抛出一个“意外符号”或“意外输入结束”异常(请参阅代码)。搜索和尝试不同的方法来解决这个问题没有帮助。 可能是我缺乏知识。 任何帮助或建议都将不胜感激 > str <- "abc12-3def" > parse(text = str) Error in parse(text = str) : <text>:1:8: unexpected symbol 1: abc12-3def

我正在尝试解析R中的字符串。 当字符串中有一个数字后跟一个连字符时,R抛出一个“意外符号”或“意外输入结束”异常(请参阅代码)。搜索和尝试不同的方法来解决这个问题没有帮助。 可能是我缺乏知识。 任何帮助或建议都将不胜感激

> str <- "abc12-3def"
> parse(text = str)
Error in parse(text = str) : <text>:1:8: unexpected symbol
1: abc12-3def
          ^
str解析(text=str) 分析错误(text=str)::1:8:意外符号 1:abc12-3def ^ 或

str解析(text=str) 分析错误(text=str)::2:0:输入意外结束 1:abc123- ^ 但是,以下示例都正常工作

> str <- "abc123def"
> parse(text = str)
expression(abc123def)
str解析(text=str) 表达式(abc123def) 或

str解析(text=str) 表达式(abc123 def) 或

str解析(text=str) 表达式(abc12-3)
提前非常感谢

您可以使用以下工具轻松重现
解析
行为:

str <- "3a"
parse(text = str)
在您的示例中,这同样有效:

str <- "abc12-`3def`"
parse(text = str)

parse
的要点是将输入文本转换为R语言表达式。就像你打字一样

abc12-3def

在R提示符下,它会抛出语法错误,
parse
。您不能只是随意向它发送文本,然后认为它会给您一些合理的信息。

谢谢您的及时回复。关于你的例子,str@agstudy你能用外行术语解释一下为什么字符串有错误吗?或者说(?谢谢!不幸的是,我的名声不足以证明上述两个答案都有用。
str <- "3a"
parse(text = str)
str <- "`3a`"
parse(text = str)
str <- "abc12-`3def`"
parse(text = str)
str <- "abc123-"  ## this will like myvar-
 parse(text=gsub('-','_',str))
abc12-3def