【发布时间】:2013-04-23 12:40:46
【问题描述】:
给定两列(可能来自数据帧)等长 N,我如何生成长度为 2N 的列,其中包含来自第一列的奇数项和第二列的偶数项?
假设我有以下数据框
df.1 <- data.frame(X = LETTERS[1:10], Y = 2*(1:10)-1, Z = 2*(1:10))
如何生成这个数据框df.2?
i <- 1
j <- 0
XX <- NA
while (i <= 10){
XX[i+j] <- LETTERS[i]
XX[i+j+1]<- LETTERS[i]
i <- i+1
j <- i-1
}
df.2 <- data.frame(X.X = XX, Y.Z = c(1:20))
【问题讨论】:
-
Here's another way你可能有兴趣。
-
您可以通过将它们放在列表中并执行以下操作将其扩展到多个向量:
unlist(ll)[order(sequence(vapply(ll, length, 0L)))]