Ich versuche cbind
zwei unterschiedlich benannte Arrays in einen Datenrahmen.So verschmelzen zwei unterschiedlich geordnete Arrays nach Spalten
x = c("a" = 1, "z" = 10)
y = c("z" = 10, "a" = 1)
# Expected output:
# x y
# a 1 1
# z 10 10
Ich habe versucht, die folgenden und alle die Namen der Felder ignoriert:
# Unexpected outputs:
cbind(x,y)
merge(as.data.frame(x),as.data.frame(y))
library(dplyr); bind_cols(as.data.frame(x),as.data.frame(y))
Grundsätzlich weiß ich, dass ich die Arrays in dataframe
verwandeln konnte und dann durch Zeilennamen binden, oder ich könnte die Namen zuordnen und die Arrays beim Binden indizieren.
Ich habe mich gefragt, ob es einen geradlinigeren Weg für solch eine einfache Aufgabe gibt.
Sortieren nach den Namen 'cbind (x, y = y [Ordnung (Namen (y))]) '. Dies setzt natürlich voraus, dass "x" bereits geordnet ist, was wahr sein kann oder auch nicht. –
@RichardScriven Zustimmen, aber das geht auch davon aus, dass alle Elemente in den beiden Arrays vorhanden und nur anders geordnet sind .. – Deena