所以我有两个数据帧,df1 和 df2,它们都有相同的列数(并且具有相同的名称)但行数不同。我想将它们组合成一个大数据框,其中第一列是 df1 的第一列,第二列是 df2 的第一列,第三列是 df1 的第二列,第四列是 df2 的第二列,等等。
使用内置的BOD
数据框构造示例df1
和df2
输入。
然后迭代列将每个列的第 j 列转换为 ts 系列(因为即使具有不同的行数, ts 系列也可以被 cbind'ed),然后 cbind 它们并将其转换为数据帧。最后给它取个好听的名字。不使用任何包。
# test data
df1 <- BOD # 6x2 data frame w Time and demand col names
df2 <- head(10 * BOD, 3) # 3x2 data frame w same names
nc <- ncol(df1)
out <- do.call("data.frame", lapply(1:nc, function(j) cbind(ts(df1[,j]), ts(df2[,j]))))
names(out) <- make.names(rep(names(df1), each = 2), unique = TRUE)
out
给予:
Time Time.1 demand demand.1
1 1 10 8.3 83
2 2 20 10.3 103
3 3 30 19.0 190
4 4 NA 16.0 NA
5 5 NA 15.6 NA
6 7 NA 19.8 NA
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句