Ich habe ein Beispieldatenrahmen wie diese Ich versuche, die Kreuzung zwischen den zwei Säulen coauthors
und nacoauthors
mit dem folgenden Codedplyr mutieren schneiden funktioniert nicht
interscout =
sample_test %>%
mutate(commonauth = intersect(coauthors, nacoauthors))
und ich diese Ausgabe erhalten zu finden Ich bin mir nicht sicher, warum ich nicht in der Lage bin, den gemeinsamen Schnittpunkt mit intersect
in mutate
zu erhalten.
Idealerweise sollte die letzte Zeile leer sein und die zweite Zeile sollte nur JAMES M ANDERSON
am Schnittpunkt haben.
Hier ist der Code für die Struktur.
> dput(sample_test)
structure(list(fname = c("JACK", "JACK", "JACK"), lname = c("SMITH",
"SMITH", "SMITH"), cname = c("JACK SMITH", "JACK A SMITH", "JACK B SMITH"
), coauthors = list(c("AMEY S BAILEY", "JAMES M ANDERSON"), "JAMES M ANDERSON",
"JOHN MURRAY"), nacoauthors = list(c("AMEY S BAILEY", "JAMES M ANDERSON"
), c("AMEY S BAILEY", "JAMES M ANDERSON"), c("AMEY S BAILEY",
"JAMES M ANDERSON"))), row.names = c(NA, -3L), vars = list(fname,
lname), drop = TRUE, indices = list(0:2), group_sizes = 3L, biggest_group_size = 3L, labels = structure(list(
fname = "JACK", lname = "SMITH"), class = "data.frame", row.names = c(NA,
-1L), vars = list(fname, lname), drop = TRUE, .Names = c("fname",
"lname")), class = c("grouped_df", "tbl_df", "tbl", "data.frame"
), .Names = c("fname", "lname", "cname", "coauthors", "nacoauthors"
))
es geht um einen Fehler werfen weil mutate nach etwas ähnlichem Ausgabelänge für den vollständigen Datensatz sucht. Sie könnten sich außerhalb von dply 'intersect verwenden (sample_test $ coauthors, sample_test $ nacoauthors)' und es sollte funktionieren –