Ich habe zwei Datenrahmen mit der gleichen Anzahl von Spalten, aber unterschiedlicher Anzahl der Zeilen:Spiel Spalten von zwei Datenrahmen und Filter auf dem Wert eines anderen Spalts
colA colB colC colD
xxx 303 200 A
yyy 111 20 B
zzz 24 188 C
Ich brauche colA
df1
-colA
von df2
anzupassen und wählen sie nur die Zeilen, in denen df1$colB - df2$colC <= 2000
ich habe versucht, die for-Schleife zu tun, aber es hat nicht funktioniert:
for (i in nrow(df1)) {
for (j in nrow(df2)) {
df3 <- subset(merge(df2[j,], df1[i,], by="row.names", all=T), df2$colA[j] == df1$colA[i] && (df1$colB[i] - df2$colC[j]) <= abs(2000))
}
}
Was mache ich falsch? Es gibt mir keinen Fehler, aber der neue Datenrahmen ist leer.
Wahrscheinlich so etwas wie 'dfNew
lmo
Das hat funktioniert. Vielen Dank! – marinay