Gibt es eine einfache Möglichkeit, die Zählwerte für jede Kategorie in zwei großen Tabellen in R hinzuzufügen?Einfache Möglichkeit, zwei große Tabellen in R "hinzuzufügen"?
... wo die Tische müssen nicht alle genau die gleichen Werte vorhanden (obwohl sie meist überlappen):
Kleines Beispiel von dem, was ich zu tun versuchen. Legen Sie einige Daten auf:
x1 <- c(5, 3, 3, 6, 3, 3, 5, 5, 11, 2, 4, 9, 3, 5, 8, 2, 8, 5, 4, 8)
x2 <- c(6, 10, 9, 17, 6, 7, 8, 11, 5, 12, 14, 5, 11, 7, 7)
table(x1)
x1
2 3 4 5 6 8 9 11
2 5 2 5 1 3 1 1
table(x2)
x2
5 6 7 8 9 10 11 12 14 17
2 2 3 1 1 1 2 1 1 1
Jetzt möchte ich diese Tabellen kombinieren, als ob ich table(c(x1,x2))
getan hatte, bekommen:
2 3 4 5 6 7 8 9 10 11 12 14 17
2 5 2 7 3 3 4 2 1 3 1 1 1
Aber jetzt x1 und x2 vorstellen, sind weg (und sind wirklich groß, so ich wirklich nicht wollen sie aus den Tabellen erstellen und tatsächlich tun table(c(x1,x2))
), alles, was ich will ihr die Tabellen zu nehmen ist t1
und t2
und fügen sie (oft sehr groß) zählt ... die ich in mehreren tun können Ja wirklich klobige Wege.
Doch dies scheint, wie es beide sehr häufig und sehr sein sollte Problem leicht gelöst (in der Tat, ich denke, dass t1 + t2
sollte für Tabellen mit Kategorien arbeiten vom gleichen Typ), aber bei Fragen zu jedem Suchbegriff gesucht Ich könnte denken, von nichts gefunden haben.
Habe ich einen wirklich einfachen und offensichtlichen Weg verpasst, dies zu tun?
Edit:
Um zu klären, so etwas wie dies (was ich auch tat) ist nicht ‚einfach und klar‘ für das, was muss mit Tabellen eine sehr häufige Operation sein:
m <- merge(t1,t2,by.x="x1",by.y="x2",all=TRUE)
m[is.na(m)] <- 0
oo <- order(m$x1)
t12 <- m[oo,2]+m[oo,3]
names(t12) <- m[oo,1]
Insbesondere dieser ist wirklich nicht einfacher und einfacher zu folgen als der Brute-Force-Ansatz.
Sie sollten einen Blick auf ' fusionieren. –
@PaulHiemstra tat ich vor dem Posten. Ich habe auch eine ganze Weile damit gespielt. Ich sah keinen guten Weg, um das zu tun, was ich wollte (leichter als durch rohe Gewalt). Es ist möglich, dass ich etwas verpasst habe, aber in diesem Fall ... Ich brauche mehr einen Hinweis als das. –
Ihr Leben wird viel einfacher sein, wenn Sie Datenrahmen anstelle von Tabellen verwenden. Tabellen sind nur benannte Vektoren und im Allgemeinen gibt es wenige R-Funktionen zum Ausrichten und Kombinieren benannter Vektoren und viele für Datenrahmen. – hadley