matlab创建符号常量出错,错误:代码中意外的符号/输入/字符串常量/数值常数/特殊...

这些错误意味着您试图运行的R代码或源代码在语法上是不正确的。也就是说,你有一个错误。

若要修复此问题,请仔细阅读错误消息。错误消息中提供的代码显示了R认为问题所在的地方。在原始代码中找到这一行,并查找错误。

预防措施防止你再次犯错误

避免语法错误的最好方法是编写时髦的代码。这样,当你输入错误的东西时,问题就会更容易发现。有许多从R标签信息一页。您还可以使用formatR自动将代码格式化为更具可读性的包。在RStudio中,键盘快捷方式克特 + 换档 + A将重新格式化您的代码。

考虑使用IDE或文本编辑器来突出显示匹配的括号和大括号,并以不同的颜色显示字符串和数字。

产生这些错误的常见语法错误

不匹配的括号、大括号或括号

如果您有嵌套的括号、大括号或括号,那么很容易关闭它们太多或太少。{}}## Error: unexpected '}' in "{}}"{{}} # OK

失踪 * 做乘法时

这是数学家们常见的错误。5x

Error: unexpected symbol in "5x"5*x # OK

不包装括号中的if、for或返回值

这是MATLAB用户常见的错误。在R,if, for, return等等,都是函数,所以您需要将它们的内容放在括号中。if x > 0 {}## Error: unexpected symbol in "if x"if(x > 0) {} # OK

不对代码使用多行代码

试图在一行上写入多个表达式,而不使用分号分隔它们,会导致R失败,并使您的代码更难阅读。x + 2 y * 3## Error: unexpected symbol in "x + 2 y"x + 2; y * 3 # OK

else从一条新的路线开始

在if-else语句,关键字else必须显示在与if封锁。if(TRUE) 1else 2## Error: unexpected 'else' in "else"    if(TRUE) 1 else 2 # OKif(TRUE) {

1} else            # also OK{

2}

=而不是==

=用于赋值和给函数参数赋值。==测试两个值是否相等。if(x = 0) {}## Error: unexpected '=' in "if(x ="    if(x == 0) {} # OK

参数之间缺少逗号

在调用函数时,每个参数必须用逗号分隔。c(1 2)## Error: unexpected numeric constant in "c(1 2"c(1, 2) # OK

不引用文件路径

文件路径只是字符串。它们需要用双引号或单引号包装。path.expand(~)## Error: unexpected ')' in "path.expand(~)"path.expand("~") # OK

字符串中的引号

当试图将引用的值传递给shell时,这是一个常见的问题。system,或创建引用xPath或sql查询。

双引号中的双引号需要转义。同样,需要转义单个引号字符串中的单引号。或者,您可以在不转义的双引号字符串中使用单引号,反之亦然。"x"y"

## Error: unexpected symbol in ""x"y"

"x\"y" # OK'x"y'  # OK

使用卷曲引号

所谓的“智能”引号对于R编程来说并不是那么聪明。path.expand(“~”)## Error: unexpected input in "path.expand(“"    path.expand("~") # OK

使用不带反引号的非标准变量名

?make.names描述构成有效变量名的内容。如果您创建一个无效的变量名(使用assign(也许),那么你需要用反引号访问它,assign("x y", 0)x y## Error: unexpected symbol in "x y"`x y` # OK

这也适用于用check.names = FALSE.dfr 

它也适用于将运算符和其他特殊值传递给函数时。例如,查找帮助%in%.?%in%## Error: unexpected SPECIAL in "?%in%"?`%in%` # OK

采购非R码

这个source函数从文件中运行R代码。如果你试图用它来读取你的数据,它就会崩溃。也许你想read.table.source(textConnection("x y"))## Error in source(textConnection("x y")) : ##   textConnection("x y"):1:3: unexpected symbol## 1: x y##       ^

损坏的RStudio桌面文件

RStudio用户报告由于损坏引起的错误源错误.rstudio-desktop档案。这些报告只发生在2014年3月左右,因此这可能是IDE特定版本的一个问题。可以使用指示在支持页面上。

在数学图注释中使用没有粘贴的表达式

当试图在图中创建数学标签或标题时,创建的表达式必须是语法上有效的数学表达式,如?plotmath一页。否则,内容应该包含在对粘贴的调用中。plot(rnorm(10), ylab = expression(alpha ^ *)))## Error: unexpected '*' in "plot(rnorm(10), ylab = expression(alpha ^ *

"plot(rnorm(10), ylab = expression(paste(alpha ^ phantom(0), "*"))) # OK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值