Dit is raar. Ik krijg deze foutmelding
Fout in sort.list(y) : ‘x’ moet atomair zijn voor ‘sort.list’
Heb je ‘sorteren’ op een lijst genoemd?
wanneer ik deze code op een lijst uitvoer
cc3 <- as.data.frame(table(cc2))
Wat kan er aan de hand zijn?
dit staat bovenaan de lijst.
head(cc2)
V1
1: 174
2: 174
3: 211
4: 177106
5: 177106
6: 177106
Bewerken:
Als ik ren, str(cc2)
Ik snap dit
Classes ‘data.table’ and 'data.frame': 149706 obs. of 1 variable:
$ V1:List of 149706
..$ : Named chr "174"
.. ..- attr(*, "names")= chr "V11"
..$ : Named chr "174"
.. ..- attr(*, "names")= chr "V7"
..$ : Named chr "211"
.. ..- attr(*, "names")= chr "V6"
.. [list output truncated]
- attr(*, ".internal.selfref")=<externalptr>
Antwoord 1, autoriteit 100%
Van de uitvoer van str(cc2)
is de variabele in de data.table, V1, zelf een lijst. Dit betekent dat cc2 een geneste lijst met lengte 1 is. De fout treedt op omdat table
sort.list
aanroept, wat een atomaire vector als invoer vereist.
Probeer unlist
te gebruiken:
cc3 <- as.data.frame(table(unlist(cc2)))
unlist
zal (recursief) elementen uit hun lijstcontainers halen. Dus unlist(cc2)
retourneert een vector, die rechtstreeks werkt met table
.
Antwoord 2, autoriteit 41%
Ik heb het opgelost door cc2 unli <- unlist(cc2)
te verwijderen en het vervolgens te converteren naar df df<-as.data.frame(cc2)
Antwoord 3
Ik had alleen unlist(myList) nodig voor een lijst die ik heb geconstrueerd met iteratief een lijst die ik heb geconstrueerd met index (myList[[i]] <- val) om mijn vergelijkingsfunctie naar keuze toe te kunnen passen (mediaan)