2011-11-18 18 views

Odpowiedz

48

Ustaw options(stringsAsFactors = FALSE) na początku sesji R lub w swoim profilu .RP.

Poniższe komentarze mogą sugerować, że stringsAsFactors to temat kontrowersyjny w społeczności R. Jak irytujące jest to, że wartość domyślna może w pewnym stopniu zależeć od tego, ile czasu zużyjesz na używanie R, aby pasowało do wielu "standardowych" modeli statystycznych (lm, glm itd.). Wiele z tych funkcji dopasowania modelu i powiązanych jest zbudowanych wokół przy użyciu typu danych czynnikowych.

Jeśli spędzasz większość czasu na innych rodzajach analizy danych, możesz uznać to ustawienie za bardziej irytujące.

Z powodów wymienionych poniżej powszechnie uważa się, że jest niebezpieczny dla globalnego ustawienia stringsAsFactors = FALSE: może powodować znaczące zamieszanie podczas udostępniania kodu. Rzeczywiście, nawet jeśli pracujesz głównie sam, uczestnictwo w społecznościach internetowych, takich jak StackOverflow, może być trudne, jeśli nalegasz na uruchomienie R z stringsAsFactors = FALSE: twoja odpowiedź na pytanie może nie działać dla OP, lub możesz nie być w stanie replikować błędów innych widzenie!

Oczywiście, każdy może samodzielnie wybrać, jak najlepiej zarządzać tymi ryzykami.

+24

Posiadanie tego zestawu w twoim '.Rprofile' może być nieco ryzykowne, ponieważ twój kod nie jest już przenośny. Ponieważ dużo uczę, zdecydowałem, że zbyt łatwo będzie zapomnieć o tej opcji podczas przekazywania kodu. – csgillespie

+11

to naprawdę powinno być domyślne. zabija moją produktywność, gdy wyjątkowo dziwne, trudne do debugowania błędy pojawiają się z tego powodu. właśnie teraz czytam parametry z pliku, zapomniałem, a wykresy były błędne, wciąż wyświetlając prawidłowe opisy tytułu i osi ... –

+0

powinien być domyślny w tej konwersji, na przykład as.data.frame() powinien utrzymywać podstawowe dane struktura obiektów, które wstawiają do ramki danych. –