Ich habe versucht, dies zu tun, aber nicht überall. Jede Hilfe wird sehr geschätzt.Abrufen von übereinstimmenden Zeilen zwischen zwei Datenrahmen mit For-Schleife
df1 <- data.frame(chrom = "chr1", start=c(10,20,30), end = c(100,200,300), stringsAsFactors=FALSE)
df2 <- data.frame(chrom = c("chr1", "chr2", "chr3"),start=c(15,500,150), end = c(75,1000,300), stringsAsFactors=FALSE)
Ich möchte alle Zeilen von DF2 bekommen, wo df1$chrom == df2$chrom
. Oder noch besser: Ich möchte die Ausgabe in einem neuen Vektor erzeugen und die Zeilen von df1 gefolgt von df2 oder umgekehrt anzeigen, wobei df1$chrom == df2$chrom
.
Ich habe versucht, diese ein for-Schleife wie folgt:
for(i in 1:nrow(df2)){
x[i] <- df2[which(df1$chrom == df2$chrom[i])]
}
Problem!
Was versuchen Sie mit diesem Vergleich zwischen Datenrahmen zu erreichen? Es kann einfach eine einfachere Lösung für Ihren Arbeitsablauf geben als die Vorgehensweise, die Sie vornehmen - wenn Sie also beispielsweise nur einen Vektor aus einem Datenrahmen haben wollen, werden Sie viele solcher Vektoren benötigen? Ein neuer Datenrahmen? Was ist das Endziel? Dieser Kontext ist wichtig für die Fragen, die Sie stellen. –