Mam ramki danych, które skonstruować takie jak:Konwersja kolumnę ramka danych ze znaku numerycznego
> yyz <- data.frame(a = c("1","2","n/a"), b = c(1,2,"n/a"))
> apply(yyz, 2, class)
a b
"character" "character"
Ja próbuje konwertować ostatnią kolumnę chwilę numerycznej zachowaniu pierwszą kolumnę jako znak. Próbowałem tego:
> yyz$b <- as.numeric(as.character(yyz$b))
> yyz
a b
1 1
2 2
n/a NA
Ale kiedy prowadzę klasę zastosowania, pokazuje mi się, że obie klasy postaci.
> apply(yyz, 2, class)
a b
"character" "character"
Czy ustawienie ramki danych jest nieprawidłowe? A może tak interpretuje ramkę danych R?
Zauważ, że 'klasa (YYZ $ b)' plony ' "liczbowe"' w tym przykładzie. Dlatego kolumna * jest * w rzeczywistości numeryczna. Jak wskazano przez @akrun, widoczne niedopasowanie klas wynika z użycia 'apply()'. – RHertel