2014-10-19 4 views
6

У меня есть код, который поставляется с набором данных, который я скачал. Этот код должен преобразовывать факторные переменные в числовые. Когда я бегу каждую линию по отдельности, он отлично работает, но если я пытаюсь выделить целый раздел, то я получаю следующее сообщение об ошибке:Ошибка только при запуске всего кода кода

Error: unexpected input in ...

Это дает мне эту ошибку для каждой строки кода, но опять же, если я запускайте каждую линию индивидуально, тогда она отлично работает. Я никогда раньше не сталкивался с этим. Что происходит?? Благодаря!

Вот код, который я пытаюсь запустить:

library(prettyR) 
lbls <- sort(levels(DF$myVar)) 
lbls <- (sub("^\\([0-9]+\\) +(.+$)", "\\1", lbls)) 
DF$myVar <- as.numeric(sub("^\\(0*([0-9]+)\\).+$", "\\1", DF$myVar)) 
DF$myVar <- add.value.labels(DF$myVar, lbls) 

А вот выход с ошибками:

> library(prettyR) 
"rror: unexpected input in "library(prettyR) 
> lbls <- sort(levels(DF$myVar)) 
"rror: unexpected input in "lbls <- sort(levels(DF$myVar)) 
> lbls <- (sub("^\\([0-9]+\\) +(.+$)", "\\1", lbls)) 
"rror: unexpected input in "lbls <- (sub("^\\([0-9]+\\) +(.+$)", "\\1", lbls)) 
> surv.df$myVar <- as.numeric(sub("^\\(0*([0-9]+)\\).+$", "\\1", DF$myVar)) 
"rror: unexpected input in "DF$myVar <- as.numeric(sub("^\\(0*([0-9]+)\\).+$", "\\1",DF$myVar)) 
> surv.df$BATTLEGROUND <- add.value.labels(DF$myVar, lbls) 
Error in add.value.labels(surv.df$myVar, lbls) : 
object 'lbls' not found 
+1

Почему вы сортируете уровни факторов? Для этого, похоже, не важно. Трудно сказать, без каких-либо данных, чтобы проверить его. Ошибка на самом деле говорит точно «Ошибка: неожиданный ввод в ...»? Пожалуйста, опубликуйте результат 'dput (head (DF))' –

+0

И я не уверен, почему уровни факторов отсортированы. Это всего лишь код, который поставляется с набором данных, и, похоже, он работает нормально, за исключением случаев, когда я пытаюсь запустить сразу несколько строк. Это не серьезная проблема, потому что я могу запускать каждую строку отдельно, но мне кажется странным, что у нее есть эта проблема. – user3658457

ответ

10

Я понял вопрос (на самом деле кто-то сказал мне, что проблема была)

Код был загружен как .R-файл и должен быть написан с использованием текстового редактора с нестандартной кодировкой «новая строка». Поэтому я просто скопировал код в текстовый редактор, заменил все на «\ n» на «#####». Затем я снова заменил все, чтобы вернуться к новым строкам и скопировать его обратно в студию R.

И все работает!

+0

У меня была аналогичная проблема с символом «власть» ^. Я вырезал его в другой редактор, а затем вернулся в RStudio после перезапуска и удалил проблему: мой символ получил на моей клавиатуре, дважды нажав кнопку «мертвый ключ», поэтому, возможно, какой-то невидимый персонаж каким-то образом добавлен к нему, и, похожее на невидимый символ новой строки, мешал. (Обратите внимание, однако, что я использовал символ^миллион раз, прежде чем без проблем, так что есть часть оставшейся тайны). – PatrickT

Смежные вопросы