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
總結
以上是生活随笔為你收集整理的matlab创建符号常量出错,错误:代码中意外的符号/输入/字符串常量/数值常数/特殊...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java结构化语言,如何让Java代码流
- 下一篇: 基于matlab水轮机期刊,基于MATL