2014-10-19 18 views
6

Mam kod dostarczany z pobranym zestawem danych. Ten kod ma na celu konwersję zmiennych czynnikowych na liczbowe. Kiedy uruchomić każdy wiersz indywidualnie, to działa dobrze, ale gdy próbuję podświetlić całą sekcję, a następnie pojawia się następujący błąd:Błąd tylko przy uruchomieniu całego bloku kodu

Error: unexpected input in ...

To daje mi ten błąd dla każdej linii kodu, ale ponownie, jeśli uruchom każdą linię indywidualnie, a następnie działa dobrze. Nigdy wcześniej tego nie robiłem. Co się dzieje?? Dzięki!

Oto kod, który próbuję uruchomić:

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) 

I tu jest wyjście z błędami:

> 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

Dlaczego sortujesz poziomy czynników? Wydaje się, że to nie ma znaczenia. Trudno powiedzieć, bez niektórych danych, aby go przetestować. Błąd rzeczywiście mówi dokładnie "Błąd: nieoczekiwane wejście w ..."? Proszę opublikować wynik 'dput (head (DF))' –

+0

I nie jestem pewien, dlaczego poziomy czynników są posortowane. Jest to po prostu kod dostarczony z zestawem danych i wygląda na to, że działa dobrze, z wyjątkiem sytuacji, gdy próbuję uruchomić wiele linii naraz. Nie jest to poważny problem, ponieważ mogę uruchomić każdą linię osobno, ale wydaje mi się dziwne, że ma ona ten problem. – user3658457

Odpowiedz

10

zorientowali się problem (a właściwie ktoś mi powiedział, co problem był)

Kod został pobrany jako plik .R i musiał zostać napisany za pomocą edytora tekstu z niestandardowym kodowaniem "nowej linii". Więc po prostu skopiowałem kod do edytora tekstu, zastąpiłem wszystko, aby przełączyć "\ n" na "#####". Potem zamieniłem wszystko na nowe, aby wrócić do nowych linii i skopiowałem je do studia R.

I wszystko działa!

+0

Miałem podobny problem z charakterem "mocy" ^. Wkręciłem go do innego edytora, a następnie ponownie uruchomiłem RStudio, co spowodowało usunięcie problemu: mój^znak został uzyskany na mojej klawiaturze poprzez dwukrotne naciśnięcie przycisku, więc prawdopodobnie jakaś niewidzialna postać jest w jakiś sposób dołączona do niego i podobny do niewidzialnego znaku nowej linii, przeszkadzał. (Zauważ jednak, że użyłem znaku^miliard razy wcześniej bez problemów, więc pozostaje część tajemnicy). – PatrickT

Powiązane problemy