如何使用R获得相邻的组合对?

Fra*_*ang 7 combinations r

给出一个字符列表,例如:

L <- list("a", "b", "c", "d")
Run Code Online (Sandbox Code Playgroud)

注意,长度L不固定.

如何获得相邻的组合对,例如:

     [,1] [,2]
[1,]  "a"  "b" 
[2,]  "b"  "c" 
[3,]  "c"  "d" 
Run Code Online (Sandbox Code Playgroud)

实际上,我这样做是为了获得有针对性的矩阵以进行进一步的网络分析.你知道,在一个特定的计算机媒介沟通中,人们一个接一个地讨论,有一个序列,新来者只回复最新的帖子.

And*_*rie 6

使用 embed

> L <- letters[1:4]
> embed(L, 2)[, 2:1]
     [,1] [,2]
[1,] "a"  "b" 
[2,] "b"  "c" 
[3,] "c"  "d" 
Run Code Online (Sandbox Code Playgroud)


42-*_*42- 5

Andrie对嵌入的使用肯定是优雅的,可能更有效率.这是一个稍微笨拙的方法:

> L<-c("a", "b", "c", "d")
> L
[1] "a" "b" "c" "d"
> matrix(c(L[-length(L)], L[-1]), ncol=2)
     [,1] [,2]
[1,] "a"  "b" 
[2,] "b"  "c" 
[3,] "c"  "d" 
Run Code Online (Sandbox Code Playgroud)