Próbuję posortować listę list w R. Każda podlista zawiera liczbę całkowitą i ciąg znaków. Moim celem jest uporządkowanie list tak, aby ostatnia lista była sortowana według liczb całkowitych w porządku rosnącym. Poniżej znajduje się przykład tego, co próbuję wykonać:Jak sortować listę list w R?
a <- list(-5,"help")
b <- list(3, "stack")
c <- list(1, "me")
d <- list(10, "overflow")
list.of.lists <- list(a,b,c,d)
magic.sort(list.of.lists)
# Below is not exactly how it would be displayed, but should be understandable
-5, "help"
1, "me"
3, "stack"
10, "overflow"
Czy istnieje dobry sposób w obrębie R, aby osiągnąć ten wynik? Najlepiej, jeśli wynik powinien zostać zwrócony jako lista list.
Dzięki za szybką i poprawną odpowiedź! Próbowałem to zaakceptować, ale wydaje mi się, że muszę poczekać kilka minut! Kiedy zegar tyka, akceptując to, czy mimo to możesz wyjaśnić, co robi każda część? Jestem bardzo zdezorientowany przez twoje użycie sapply. Co oznacza "[[" określić? Ponadto, jaki jest ostatni argument w określaniu sapply? Jestem nowy dla R ... – mjnichol
@mjnichol - z długiej ręki, możesz napisać: 'sapply (list.of.lists, function (x) x [[1]])' - to właśnie wyodrębnia pierwszy element z każdą listę, a następnie zwracając ją jako wektor, który następnie jest przekazywany do 'order'. Na przykład. - '[[1]]' i ''[[' (a, 1)' są równoważne. – thelatemail
Ah, tak jakby to wymyśliłem. Dziękuję Ci! – mjnichol