循环遍历r数据帧的列并将记录彼此相邻

时间:2016-10-11 15:27:17

标签: r

我有一个用于演讲的单词数据框,我想计算某些单词配对的次数。这些单词的顺序正确,所以我只需循环遍历列并将每个单词与前面的单词配对。

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

所需的输出将是这样的:

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

提前感谢StackOverflow!

2 个答案:

答案 0 :(得分:2)

我们可以删除最后一个'字'(word[-length(word)]),第一个字(word[-1]),paste它们可以连接第一个元素来创建'pair'列

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

答案 1 :(得分:0)

您可以使用Lag

中的Hmisc功能
library(Hmisc)
df$pair <- with(df, paste(Lag(word), word))
df$pair

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