Mam pewne dane szpitalne w ramce danych, odczytywane z pliku CSV. Próbowałem zamówić dataframe przez kolumnę col
zdefiniowanej przez użytkownika, a następnie nazwa szpitala tak:Kolumna kolumny danych liczbowych niepoprawnie zamawiana jako ciąg
col <- 'Hospital.30.Day.Death..Mortality..Rates.from.Pneumonia'
hospitals.sorted <- hospitals[order(hospitals[,col], hospitals$Hospital.Name),]
Ale myślę, że czegoś brakuje; wydaje sortować col
jak struny:
> hospitals.sorted
... # so far so good # ...
2749 10.0
2831 10.0
2891 10.0
2837 10.1
2824 10.1
2774 10.1
... # not so good # ...
2856 15.7
2834 15.9
2797 16.0
2835 7.4
2850 7.7
2789 8.1
... # there are some non-numeric values at the very bottom # ...
2806 9.9
2867 9.9
2884 9.9
2808 Not Available
2913 Not Available
2911 Not Available
Wystarczy potwierdzić kolumna jest w rzeczywistości liczbowy:
> sapply(hospitals, mode)
Hospital.30.Day.Death..Mortality..Rates.from.Pneumonia
"numeric"
Hospital.Name
"numeric"
nie wiem dlaczego Hospital.Name
jest numeryczny, gdy wyraźnie nie jest.
Inne rzeczy próbowałem bezskutecznie:
- wykorzystujące
as.numeric(hospitals[,col])
wnętrzeorder
- usuwając "niedostępne" wartości przed sortowaniem
I może być czegoś brakuje podstawowych. Halp!
Spróbuj 'str (szpitale)'? Prawdopodobnie masz problem z czynnikami. –