【问题标题】:I am getting unexpected symbol error when I code a function编写函数时出现意外符号错误
【发布时间】:2016-12-31 16:06:39
【问题描述】:

这里是代码

reg<-function(y,x){x<-as.matrix(x) x<-cbind(Intercept=1,x) solve(t(x)%*%x)%*%t(x)%*%y} 

错误:“reg

即使我给出换行符并且代码元素之间有空格,我也会遇到同样的错误

【问题讨论】:

  • 我认为你需要;,如果所有这些都在同一行来分隔每一行,

标签: r


【解决方案1】:

这对我有用:

reg<-function(y,x){
     x<-as.matrix(x); 
     x<-cbind(Intercept=1,x);
     solve(t(x)%*%x)%*%t(x)%*%y;
} 

【讨论】:

    【解决方案2】:

    抛出此错误是因为在解析完成语句x&lt;-as.matrix(x) 之后没有适当的分隔符。 R 的语法不能将空格识别为适当的分隔符,因此下一个非空格字符需要是行尾 (EOL) 或分号 (;)。我看到 Travis 已经展示了一个使用行尾分隔符的纯代码解决方案。可以成功的函数定义的单行版本是:

    reg<-function(y,x){x<-as.matrix(x); x<-cbind(Intercept=1,x); solve(t(x)%*%x)%*%t(x)%*%y}
    

    请注意,这不会检查代码中的语义正确性,而只是解析器声明已遵​​循句法规则。该“意外符号”错误消息始终意味着存在不正确放置或缺少括号、花括号、分号或逗号。在这种情况下,实际的意外符号是 x。您可以通过以下方式重现错误:

    > x<-as.matrix(x) x
    Error: unexpected symbol in "x<-as.matrix(x) x"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      相关资源
      最近更新 更多