Ich hoffe, jemand kann helfen. Ich habe eine Menge von Ortholog-Mapping in R zu tun, was sich als unglaublich zeitaufwendig erweist. Ich habe unten eine Beispielstruktur veröffentlicht. Offensichtliche Antworten wie das Iterieren von Zeile für Zeile (für i in 1: nw (df)) und String-Splitting oder die Verwendung von Sapply wurden ausprobiert und sind unglaublich langsam. Ich hoffe daher auf eine vektorisierte Option.Optimierung der Anpassung in R
stringsasFactors = F
# example accession mapping
map <- data.frame(source = c("1", "2 4", "3", "4 6 8", "9"),
target = c("a b", "c", "d e f", "g", "h i"))
# example protein list
df <- data.frame(sourceIDs = c("1 2", "3", "4", "5", "8 9"))
# now, map df$sourceIDs to map$target
# expected output
> matches
[1] "a b c" "d e f" "g" "" "g h i"
Ich weiß jede Hilfe zu schätzen!
'lapply (map, strsplit, split = '')' gibt mir einen Fehler. Geht das für dich? – CPak
Dies ist eine großartige Lösung. Vielen Dank. – user8173495
@ChiPak Ich nahm vom ursprünglichen Beispiel an, dass 'options (stringsAsFactors = FALSE) '. Meine Lösung wird nicht funktionieren, wenn die Spalten von 'map' Faktoren sind. –