这是一个奇怪的问题。我正在尝试使用矢量化代码而不是循环来做更多事情。我知道我可以用循环来做到这一点,我正在寻找的是 R 中的矢量化方式以提高速度。我有一个创造性地命名的表tbl
,如下所示:
A ,B ,C ,D
1 ,1 ,10 ,22
2 ,2 ,12 ,32
3 ,5 ,44 ,37
我想为 A 和 B 之间的值的数量重复 C 和 D 的值。在这种情况下,将有第一行的一个实例,第二行的一个实例和第三行的 3 次重复。目标是这样的:
C ,D
10 ,22
12 ,32
44 ,37
44 ,37
44 ,37
到目前为止我所拥有的是这个,但它不起作用:
rep(list(tbl[,c("C","D")]), (tbl["B"] - tbl["A"] + 1) )
如果我遍历行,它会起作用,但我宁愿一次性将其作为矢量化函数。我有一种感觉,list(tbl[,c("C","D")])
这是绊倒的部分,因为它不知道它正在处理哪一行。任何帮助或指导表示赞赏。如果我走错了兔子洞,请随时告诉我。谢谢!