Я получаю непредвиденную ошибку символа, когда я кодирую функцию

Вот код

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матрица (x) x»

Я получаю ту же ошибку, даже когда даю разрывы строк и пробелы между элементами кода

Метки

2 ответа

  1. Эта ошибка возникает из-за отсутствия правильного разделителя после инструкции parse-wise complete x<-as.matrix(x). Синтаксис R не распознает пробел в качестве правильного разделителя, поэтому следующий символ, не являющийся пробелом, должен быть либо концом строки (EOL), либо точкой с запятой (;). Я вижу, что Трэвис уже показал решение только для кода, которое использовало разделители конца строки. ОДН-вкладыш версия вашей функции definiton которая преуспела бы:

    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"