繁体   English   中英

我在编写函数时遇到意外的符号错误

[英]I am getting unexpected symbol error when I code a function

这是代码

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

错误:“ reg <-function(y,x){x <-as.matrix(x)x”中出现意外符号

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

这为我工作:

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

引发此错误的原因是,在按语法分析的完整语句x<-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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM