这是代码
reg<-function(y,x){x<-as.matrix(x) x<-cbind(Intercept=1,x) solve(t(x)%*%x)%*%t(x)%*%y}
错误:&#34; reg&lt; -function(y,x){x&lt; -as.matrix(x)x&#34;
中的意外符号
即使我提供换行符并且代码元素之间有空格
,我也会得到相同的错误答案 0 :(得分:0)
这对我有用:
reg<-function(y,x){
x<-as.matrix(x);
x<-cbind(Intercept=1,x);
solve(t(x)%*%x)%*%t(x)%*%y;
}
答案 1 :(得分:0)
抛出此错误是因为在解析完成语句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}
请注意,这不会检查代码中的语义正确性,但只是解析器声明已遵循语法规则的语句。那个&#34;意想不到的符号&#34;错误消息始终表示存在不正确放置或缺少的括号,大括号,分号或逗号。在这种情况下,实际的意外符号是x
。您可以使用以下命令重现错误:
> x<-as.matrix(x) x
Error: unexpected symbol in "x<-as.matrix(x) x"