So habe ich dieser DatensatzUntereinstellung einen Faktor auf die Menge an Beobachtungen in R
str(pcol)
'data.frame': 3130486 obs. of 20 variables:
$ body : Factor w/ 1623190 levels "","' i need to... '",..: 76837 ...
$ author : Factor w/ 18164 levels "--Kai--","--sunshine--",..: 11455 6643 8117 832 ...
$ ups : int 2 7 1 1 1 1 2 4 2 1 ...
....
einen Tisch zu machen zeigt:
table(pcol$author):
AuthornameX AuthornameY AuthornameZ ...
148 87 102
'table' int [1:18164(1d)] 129 5 152 67 18 25 58 319 44 204 ...
- attr(*, "dimnames")=List of 1
..$ : chr [1:18164] "--Kai--" "--sunshine--" "-0---0-" "-73-" ...
So dass ich jetzt mit nur Autoren einen neuen Datensatz erstellen möchten die mehr als 100 Mal im Datensatz sind.
Ich habe versucht, die folgenden:
x <- subset(pcol, length(pcol$author) > 100)
'table' int [1:2634(1d)] 129 152 319 204 157 177 198 106 144 437 ...
attr(*, "dimnames")=List of 1
..$ : chr [1:2634] "--Kai--" "-0---0-" "-Lolrax-" "-PTM-" ...
So kann ich die Autoren darauf beschränkt, die Zahlen über 100 haben Aber jetzt habe ich das Problem, wie diese Autoren aus dem ursprünglichen Datensatz subtrahieren.
Ich habe versucht, diese:
> y <- subset(pcol, pcol$authors == x)
Aber das läßt mich mit einem leeren Datenrahmen mit 0 Beobachtungen.
Also: Wie ändere ich den ursprünglichen Datensatz zu einem neuen, nur mit Autoren, die über 100 Mal erscheinen?
My question is similar to this one, so potentially a duplicate. Obwohl die Frage beantwortet wurde, konnte ich die Lösung dort nicht auf mein Problem übertragen. Deshalb stelle ich meine Frage.
Here is a 10.000 rows sample of my data set
Aggregate und neue Spalte hinzufügen, die die Zählung pro Autor zeigt, dann Teilmenge verwenden, um auf dieser Spalte. Fügen Sie auch [reproduzierbares Beispiel] hinzu (http://stackoverflow.com/questions/5963269). – zx8754
Versuchen Sie 'y <- Teilmenge (pcol, pcol $ autors% in% x)'. – Alex
oder mit 'Bibliothek (dplyr); pcol%>% group_by (author)%>% filter (n()> 100) ' – Sotos