Ich habe zwei Datenrahmen einer mit sieben Zeilen der andere mit 2 Zeilen. Hier sind die beiden Rahmen:Kombination von zwei Datenrahmen unterschiedlicher Länge an bestimmten Standorten
content ChatPosition
1 This is a start line START
2 This is a middle line MIDDLE
3 This is a middle line MIDDLE
4 This is the last line END
5 This is a start line START
6 This is a middle line MIDDLE
7 This is the last line END
und
rating text_type
1 0.2324 Postive
2 0.8999 Postive
Grundsätzlich ich die beiden Datenrahmen zusammenführen möchten, aber ich möchte, dass sie verschmelzen, so dass die Werte in der Bewertung und text_type Datenrahmen Line-Up mit Werten in der 1. und 5. Zeile des ersten Datenrahmens. Mit anderen Worten: die Werte von DF2 sollten nur eingesetzt werden, wenn die ChatPosition value = „START“ So will ich mit einem Datenrahmen, um am Ende der wie folgt aussieht:
content ChatPosition rating text_type
1 This is a start line START 0.2324 Postive
2 This is a middle line MIDDLE NA <NA>
3 This is a middle line MIDDLE NA <NA>
4 This is the last line END NA <NA>
5 This is a start line START 0.8999 Postive
6 This is a middle line MIDDLE NA <NA>
7 This is the last line END NA <NA>
ich um Stack hatte einen Blick, so scheint es zu eine Reihe von Fragen und Antworten, die sich auf die Lösung eines ähnlichen Problems beziehen, bei dem das OP keine spezifischen übereinstimmenden Kriterien für die beiden zusammenzufügenden Frames angibt. Es gibt hier einen nützlichen Code, aber ich konnte ihn nicht erweitern, um mein Problem zu lösen:
combining two data frames of different lengths.
Ich habe Code unten eingefügt, um die beiden Datenfelder zu erhalten. Wenn jemand helfen kann, wäre das sehr geschätzt.
content <- c("This is a start line" , "This is a middle line" , "This is a middle line" ,"This is the last line" ,
"This is a start line" , "This is a middle line" , "This is the last line")
ChatPosition <- c("START" , "MIDDLE" , "MIDDLE" , "END" , "START" ,"MIDDLE" , "END")
df <- data.frame(content, ChatPosition)
df
rating <- c(0.2324, 0.8999)
text_type <- c("Postive", "Postive")
df2 <- data.frame(rating, text_type)
df2
Danke R. S. Dies ist eine nette Lösung, da nicht angenommen wird, wo sich die Zeilen mit ChatPosition == "START" befinden. Es wird nur basierend auf einem Match eingefügt. Cheers. J –