Nadal jestem względnie nowy w R, więc przepraszam z góry, jeśli moje pytanie wydaje się zbyt proste.Jak znaleźć najczęstsze wartości w kilku kolumnach zawierających czynniki
Mój problem jest następujący:
Mam zestaw danych zawierającą kilka zmiennych czynnikiem, który mają te same kategorie. Muszę znaleźć kategorię, która występuje najczęściej dla każdej obserwacji w obrębie zmiennych czynnikowych. W przypadku więzi można wybrać dowolną wartość, chociaż byłoby wspaniale, gdybym mógł mieć nad nią większą kontrolę.
Mój zestaw danych zawiera ponad sto czynników. Jednakże, struktura ta jest mniej więcej tak, że:
id <- 1:3
var1 <- c("red","yellow","green")
var2 <- c("red","yellow","green")
var3 <- c("yellow","orange","green")
var4 <- c("orange","green","yellow")
df <- data.frame(cbind(id, var1, var2, var3, var4))
> df
id var1 var2 var3 var4
1 1 red red yellow orange
2 2 yellow yellow orange green
3 3 green green green yellow
Roztwór powinien być zmienny w ramki danych, na przykład, który zawiera var5 Najczęstszym kategorii dla każdego rzędu. może to być czynnik lub wektor numeryczna (w przypadku potrzebne dane, które mają być przekształcany do wektorów numerycznych)
W tym wypadku, że jak do tego rozwiązania:
> df$var5
[1] "red" "yellow" "green"
Każda porady będą bardzo doceniane! Z góry dziękuję!
dobra robota, czystsza niż moja. Nie zdawałem sobie sprawy, że mogę pominąć wszystkie konwersje, niepubliczne itp. –
Dziękuję bardzo za to rozwiązanie. Po prostu wypróbowałem to na własnych danych i działa idealnie! Czy mógłbyś mi tylko wyjaśnić, w jaki sposób ta metoda rozwiązuje więzi? Dzięki! – ZMacarozzi
Edytowałem swoją odpowiedź, aby zilustrować sprawę za pomocą remisu. To dobry nawyk, aby nauczyć się korzystać ze stron pomocy. Cieszę się, że moje rozwiązanie działa dla ciebie. – Chargaff