In der traditionellen plyr
kehrte Reihen sogar automatisch mit dem Ausgang hinzugefügt werden, wenn sie die Anzahl der Eingabezeilen für diese Gruppierung nicht überschreiten:Hinzufügen von Zeilen in `dplyr` Ausgabe
set.seed(1)
dat <- data.frame(x=runif(10),g=rep(letters[1:5],each=2))
> ddply(dat, .(g), function(df) df[c(1,1,1,2),])
x g
1 0.26550866 a
2 0.26550866 a
3 0.26550866 a
4 0.37212390 a
5 0.57285336 b
6 0.57285336 b
7 0.57285336 b
8 0.90820779 b
9 0.20168193 c
10 0.20168193 c
11 0.20168193 c
12 0.89838968 c
13 0.94467527 d
14 0.94467527 d
15 0.94467527 d
16 0.66079779 d
17 0.62911404 e
18 0.62911404 e
19 0.62911404 e
20 0.06178627 e
ich kann nicht herausfinden, wie das zu tun gleich in dplyr
. Einige Versuche:
dat %>% group_by(g) %>% summarise(xbar = mean(x))
> dat %>% group_by(g) %>% summarise(xbar = runif(3))
Error: expecting a single value
# Getting creative...
> dat %>% group_by(g) %>% function(x) x[c(1,1,1,2),]
# Nope.
Wie mache ich das?
Der spezifische Anwendungsfall, gegen den ich mich stoße, ist die Aufspaltung eines \n
-begrenzten Textfeldes und das "Lang", aber ich nutze diese Funktion von ddply
ständig für viele Zwecke.
ich 'Fehler: Objekt vom Typ 'Schließung' subsettable' nicht. Aber 'do (Funktion (d) d [c (1,1,1,2),])%>% taRifx :: stack.list()' funktioniert .... –
Installiere das neueste dplyr von github. –
Wird später überprüfen, danke. Ich habe die neueste veröffentlichte Version installiert, aber nicht die Github-Version. –