2017-03-13 13 views
0

I wie unten einige Daten haben:Aggregatdaten in einer Spalte auf einer anderen Spalte von einem Datenrahmen in R basierend

A B 
1 a 
2 b 
1 c 
3 d 
2 e 

mag ich so in etwas verwandeln: (A und B sind Spaltenüberschriften)

A B 
1 c(a,c) 
2 c(b,e) 
3 d 

Ich versuchte, Aggregat zu verwenden, aber es wird nicht wie erwartet ausgeführt.

+0

Ihre gewünschte Ausgabe ist nicht klar. Sie möchten eine Listenspalte oder verketten Sie einfach die Werte? –

+0

Eine Listenspalte wäre ideal. – user1656731

Antwort

0

Sie könnten tapply() mit einem Funktionsaufruf zu c(), verwenden etwa so:

A <- rep(letters[1:2], 5) 
B <- rep(1:2, each = 5) 

tapply(A, B, c) 

Sie erhalten eine Liste als Ausgabe erhalten:

$`1` 
[1] "a" "b" "a" "b" "a" 

$`2` 
[1] "b" "a" "b" "a" "b" 
Verwandte Themen