Mam dużą ramkę danych (14552 wiersze po 15 kolumnach) zawierającą dane rozliczeniowe od 2001 do 2007 roku. Skorzystałem z narzędzia sqlFetch, aby uzyskać dane z 2008 roku. Aby dołączyć dane z danymi z poprzednich 7 lat należałoby zrobić w 2008 roku następującoDołączanie wierszy do ramki danych - problem z czynnikiem
alltime <-rbind(alltime,all2008)
Niestety to generuje
komunikat ostrzegawczy: W
[<-.factor
(*tmp*
, RI, wartość = c (NA, NA, NA, NA, NA, NA,: nieprawidłowy poziom czynnika, NN wygenerowany
Zgaduję, że Są to nowi pacjenci, których nazwiska nie znajdowały się w poprzedniej ramce danych, a zatem nie wiedzieliby, jaki poziom ją podać. Kolejna kolumna dotyczy nazwiska polecającego lekarza. Nowy lekarz kierujący sprawiłby ten sam problem.
Sposób, w jaki R importuje dane i automatycznie sprawdza, co jest numeryczne, a co nie jest (a tym samym czyni to czynnikiem) jest wspaniały - dopóki nie będziesz musiał nim manipulować dalej, a potem stanie się to bólem. Jak elegancko pokonywać mój problem?
To jest dziwne. Czynnik nie powinien tego powodować, w celu określenia "rbind": "Czynniki mają w razie potrzeby zwiększone poziomy" (R-2.9.2). Może mógłbyś sprawdzić dokładnie, która kolumna to powoduje? – Marek
Co za wspaniały punkt Marek! Wiadomość ostrzegawcza mnie przeraziła. Po przeczytaniu Twojego komentarza wróciłem, by poznać moje dane. Pojawiają się wszystkie nowe dane i dodano dodatkowe poziomy. Na tym etapie mogłem po prostu zostawić to jako ostrzeżenie, które powinno być zignorowane - co jest niebezpiecznym nawykiem, do którego należy się dostać (od tego czasu należy utrzymywać bazę danych w swoich ostrzeżeniach, które należy traktować poważnie, a ostrzeżenia należy zignorować). Jak mogę się dowiedzieć, skąd pochodzi komunikat ostrzegawczy? – Farrel