meine df ist untermerge basierend auf einer ID mit fehlenden Werten und String
mydf<- structure(list(IDs = c(11L, 16L, 19L, 21L, 22L, 24L, 42L, 43L,
51L), string1 = structure(c(1L, 8L, 7L, 2L, 4L, 9L, 6L, 3L, 5L
), .Label = c("b", "g", "hue", "hyu", "if", "jud", "ufhy", "uhgf;ffugf",
"uhgs"), class = "factor"), IDs.1 = c(4L, 11L, 16L, 19L, 20L,
22L, 29L, NA, NA), string2 = structure(c(2L, 3L, 8L, 7L, 4L,
5L, 6L, 1L, 1L), .Label = c("", "a", "b", "higf;hdugd", "hyu",
"inja", "ufhy", "uhgf;ffugf"), class = "factor")), .Names = c("IDs",
"string1", "IDs.1", "string2"), class = "data.frame", row.names = c(NA,
-9L))
gezeigt Ich möchte, dass sie wie zusammen bekommen unter
myout<- structure(list(Ids = c(4L, 11L, 16L, 19L, 20L, 21L, 22L, 24L,
29L, 42L, 43L, 51L), string = structure(c(1L, 2L, 11L, 10L, 4L,
3L, 6L, 12L, 8L, 9L, 5L, 7L), .Label = c("a", "b", "g", "higf;hdugd",
"hue", "hyu", "if", "inja", "jud", "ufhy", "uhgf;ffugf", "uhgs"
), class = "factor")), .Names = c("Ids", "string"), class = "data.frame", row.names = c(NA,
-12L))
Ich habe versucht, es zu tun mit merge
df1 <- mydf[,1:2]
df2 <- mydf[,3:4]
df3 = merge(df1, df2, by.x=c("IDs", "string"))
was mir einen Fehler gibt, weil sie ungleich
sindich auch versucht, den Ansatz hier How to join (merge) data frames (inner, outer, left, right)? gegeben zu verwenden, das nicht mein Problem lösen
meine Eingabe ist wie dies
IDs string1 IDs string2
11 b 4 a
16 uhgf;ffugf 11 b
19 ufhy 16 uhgf;ffugf
21 g 19 ufhy
22 hyu 20 higf;hdugd
24 uhgs 22 hyu
42 jud 29 inja
43 hue
51 if
und die Ausgabe wie folgt aussieht
Ids string
4 a
11 b
16 uhgf;ffugf
19 ufhy
20 higf;hdugd
21 g
22 hyu
24 uhgs
29 inja
42 jud
43 hue
51 if
z.B. 11, 16 usw. werden zweimal wiederholt, so dass wir wollen, dass sie nur einmal
In Ihrem 'mydf', haben die 11 eine passende String sowohl 'a' und 'b', also warum ist '11‘ nach links aus der myout – akrun
@akrun sollte nur einer von ihnen sein, weil Sie sind sich ähnlich. sie sollten nur einmal und nicht zweimal wiederholen, ich machte eine Visualisierung über – nik