Mam element data.frame i próbuję utworzyć tabelę częstotliwości, która pokazuje częstotliwość wartości dla każdego wiersza. Więc zaczynam się coś takiego:Konwertuj ramkę danych na specjalnie sformatowaną tabelę częstotliwości.
d <- data.frame(a=c(1,2,3), b=c(3,4,5), c=c(1,2,5))
który wygląda tak:
a b c
1 3 1
2 4 2
3 5 5
Co naprawdę chciałbym stworzyć to data.frame awaryjny lub matryca, która wygląda tak:
1, 2, 3, 4, 5, 6, 7, 8, 9
2, 0, 1, 0, 0, 0, 0, 0, 0
0, 2, 0, 1, 0, 0, 0, 0, 0
0, 0, 1, 0, 2, 0, 0, 0, 0
Górny rząd jest po prostu rzędem etykiet i nie musi być w końcowym wyniku. Ale dodałem go tam w celach ilustracyjnych. W każdym wierszu wyświetlane są cyfry 1: 9 oraz liczba wyświetleń każdej cyfry w każdym wierszu danych początkowych.
Nie mogę owinąć głowy w łatwy sposób, aby to zrobić. Chociaż wygląda na to, że funkcja table()
powinna być pomocna, nie mogę jej zmusić do miłości. Każda pomoc lub pomysły są doceniane.
Masz data.frame pełną liczb? Jak szybko zapomnisz, konik polny ... użyj matrycy. –
Czy użycie matrycy zmienia odpowiedź? –
To nie zmienia odpowiedzi Josha O'Briena, ponieważ 'apply' automatycznie przekształca pierwszy argument w macierz/tablicę. Nie jestem pewien co do Ilyi. I tak w większości się drażniłem. ;-) –