【发布时间】:2013-10-25 17:18:32
【问题描述】:
我有两个向量:
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 .....
我想通过交替向量项并添加一个额外的变量来创建一个数据框。 1 表示向量 a 分量,-1 表示向量 b 分量。
number sign
1 1
100 -1
2 1
98 -1
等等……
如果一个向量比另一个长(如果没有更多的交替可能),则将其剩余值添加到数据帧的末尾。 我有这样的事情:
for (n in [1:length(a)]) {
dataframe[nrow(dataframe)+1,] <- c(a[n],1)
dataframe[nrow(dataframe)+1,] <- c(b[n],-1)
}
这只是将每个向量的第一个值相加,然后返回: 错误:“}”中出现意外的“}”
我在这里不知所措.. 非常感谢帮助。谢谢!
【问题讨论】:
-
top 和 bottom 等于什么?
-
@SimonO101 它取决于每次迭代,但这里举个例子,我认为顶部是 8,底部是 72
-
如果你指定了
length.out值,一个向量怎么会比另一个长?我怀疑你没有充分描述你想要解决的问题。 -
@AnandaMahto 因为将来可能需要进行重复数据删除,这可能会使一个向量比另一个向量更长