r语言 - 如何从包含最后一个元素的向量构造连续对



我有两个向量作为示例:

x <- c("a","b","c")
y <- c("a","b","c","d")

我想做的是用连续对构建一个数据框

# for X
a b
b c
c a
# for Y
a b
b c
c d
d a

试过这个,但没有得到我想要的。

> cbind(x[-length(x)], x[-1])
 [,1] [,2]
 [1,] "a"  "b" 
 [2,] "b"  "c" 
> cbind(y[-length(y)], y[-1])
     [,1] [,2]
[1,] "a"  "b" 
[2,] "b"  "c" 
[3,] "c"  "d" 

请注意,我错过了最后一个元素对(例如 c a用于Xd a用于Y)。

应该可以做到

cbind(x, c(x[-1], x[1]))

最新更新