2016-10-11 3 views
0

Ich habe ein Datenformat von Wörtern in einer Rede verwendet und ich möchte die Anzahl der Male zählen, die bestimmte Wörter zusammen gekoppelt sind. Die Wörter sind in der richtigen Reihenfolge, also muss ich nur die Spalte durchlaufen und jedes Wort mit dem davor verbinden.Schleife durch Spalte von R-Datenrahmen und paar Datensätze nebeneinander

Beginnend mit

order | word 
------------ 
1  | hello  
------------ 
2  | my 
------------ 
3  | name  
------------ 
4  | is 

Wunsch Ausgabe wird in etwa so aussehen:

order | word | pair 
-------------------- 
1  | hello| hello  
-------------------- 
2  | my | hello my 
-------------------- 
3  | name | my name 
-------------------- 
4  | is | name is 

Vielen Dank im Voraus Stackoverflow!

Antwort

2

Wir können das letzte "Wort" (word[-length(word)]) entfernen, und das erste Wort (word[-1]), paste kann zusammen mit dem ersten Element verketten, um die 'Paar' Spalte zu erstellen.

df1$pair <- with(df1, c(word[1], paste(word[-length(word)], word[-1]))) 
df1$pair 
#[1] "hello" "hello my" "my name" "name is" 
+1

Dieser arbeitete wie ein Charme. Vielen Dank. – Josh

0

Sie können Lag Funktion aus dem Hmisc Paket verwenden

library(Hmisc) 
df$pair <- with(df, paste(Lag(word), word)) 
df$pair 

# [1] " hello" "hello my" "my name" "name is" 
Verwandte Themen