Если бы вы ввели именно это на консоли R, вы бы не получили ошибку.R-парсер знал бы, что это было неполное выражение, и он вводил бы для вас разрыв строки и указывал, что ожидает завершения выражения, помещая знак плюса в дальнем левом углу экрана:
first1 <- function(x) {for (i in 1:length(x)) {if (x[i] == 1) break}
+ # that was displayed by the R interpreter/parser
После этого вы сможете выполнить команду:
return(i) }
И когда вы нажмете <enter>
, в глобальном глобусе появится функция с именем first1
.среда.Обычный способ взаимодействия с R - это сначала собрать свой код в редакторе.GUI и IDE для R обычно предоставляют такую емкость.Rstudio является особенно популярным, но есть несколько других доступных.
Вот что появляется на моей консоли при вводе многострочной функции.
> f_e<-function(){
+ b=2
+ c=2
+ d=eval( (expr_list()$f_a))
+ print(d)
+ }
Но если я скопирую и вставлю это точно в интерпретатор, я получу ошибку, потому что ни одна из них "> "и" + "на самом деле являются частью кода.Это просто сообщения пользователю.Мне нужно было бы вставить:
f_e<-function(){
b=2
c=2
d=eval( (expr_list()$f_a))
print(d)
}
(я думаю, что R-GUI в версии R для Windows может принять текст с ">"
и "+"
и убрать их для удобства, но моя система этого не делает.)