将交替向量插入数据框

Jul*_*lia 1 r vector dataframe

我有两个向量:

a <- c(ceiling(seq(0, top, length.out = 20)))

b <- c(floor(seq(100, bottom, length.out = 20)))

a : 1  2  2  2  3  3  3  4  4  4  5  5  5 .....

b : 100  98  96  95  93  91  90  88  86  85  83  82 .....
Run Code Online (Sandbox Code Playgroud)

我想通过交替矢量项并添加一个额外的变量来创建数据框.1表示矢量a分量,-1表示矢量b分量.

number sign
1      1
100    -1
2      1
98    -1
Run Code Online (Sandbox Code Playgroud)

等等...

如果一个向量比另一个向量长(如果没有更多可能的交替),则在数据帧的末尾添加其剩余值.我有这样的事情:

for (n in [1:length(a)]) {
dataframe[nrow(dataframe)+1,] <- c(a[n],1)
dataframe[nrow(dataframe)+1,] <- c(b[n],-1)
}
Run Code Online (Sandbox Code Playgroud)

这只是添加每个向量的第一个值,然后返回:错误:"}"中的意外"}"

我在这里不知所措..非常感谢.谢谢!

A5C*_*2T1 5

只要使用rbind,cbind以及as.vector:

a <- c(ceiling(seq(0, 5, length.out = 10)))
b <- c(floor(seq(100, 5, length.out = 10)))
a
#  [1] 0 1 2 2 3 3 4 4 5 5
b
#  [1] 100  89  78  68  57  47  36  26  15   5
cbind(as.vector(rbind(a, b)), c(1, -1))
#       [,1] [,2]
#  [1,]    0    1
#  [2,]  100   -1
#  [3,]    1    1
#  [4,]   89   -1
#  [5,]    2    1
#  [6,]   78   -1
#  [7,]    2    1
#  [8,]   68   -1
#  [9,]    3    1
# [10,]   57   -1
# [11,]    3    1
# [12,]   47   -1
# [13,]    4    1
# [14,]   36   -1
# [15,]    4    1
# [16,]   26   -1
# [17,]    5    1
# [18,]   15   -1
# [19,]    5    1
# [20,]    5   -1

## Or, if you want a data.frame
## data.frame(A = as.vector(rbind(a, b)), B = c(1, -1))
Run Code Online (Sandbox Code Playgroud)