Ich habe einen Datenrahmen dd2
mit Hunderten von Spalten, und was ich tun muss, ist, fügen Sie alle diese Spaltenwerte zusammen unter Auslassung aller NA
Werte. Wenn ich etwas zu tun wie diesesWie kann man NA-Werte weglassen, wenn man mehrere Spaltenwerte zusammenfügt?
apply(a, 1, paste, collapse=",")
es enthält tatsächlich NA
s als "NA"
String. Ich möchte das vermeiden. Ich könnte auch tun, wie unten gezeigt, aber das würde erwarten, dass ich für jede einzelne Spalte auf einmal arbeite, um das Ergebnis zu erhalten.
result <- cbind(
dd2,
combination = paste(dd2[,2], replace(dd2[,3], is.na(dd2[,3]), ""), sep = ",")
)
Gibt es einen effizienten Weg, es zu tun? Hier ist die Beispieldaten:
dd2 <- structure(c("A", "B", "C", "D", "E", "AK2", "HFM1", NA, "TRR",
"RTT", NA, "PPT", "TRR", "RTT", NA, "PPT", NA, NA, "GGT", NA), .Dim = c(5L,
4L), .Dimnames = list(NULL, c("sample_id", "plant", "animal",
"more")))
Ihre Beispieldaten ist kein 'data.frame'. Versuchen Sie mit "dd2" nur alle Spalten außer dem ersten zusammenzufügen? – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto Ich möchte ausgewählte Spaltenwerte einfügen und dabei alle NAs auslassen. Zum Beispiel möchte ich 'dd2 [, wanted.columns]' einfügen. – MAPK
Vielleicht würde so etwas auch funktionieren: 'schmelzen (as.data.table (dd2), measure.vars = c (" Pflanze "," Tier "), na.rm = TRUE) [, toString (Wert), by =. (Beispiel_ID, mehr)] '. – A5C1D2H2I1M1N2O1R2T1