问题:
我正在尝试将两个向量的列组合起来,这两个向量具有不同的长度和开始日期(想想股票价格),并且希望在匹配最短长度的同时从最长的过量中切除多余的。任何帮助将不胜感激!
到目前为止我尝试过:
combinedcolumns<-cbind(A$Col,B$Col[(length(B$Col)-length(A$Col)):length(B$Col)])
结果:
我能够绑定两列并获得A的正确值,但是我在组合列的整个长度上获得了相同的B值。
提前致谢!
答案 0 :(得分:0)
一种方法是通过填充NA
s(或基本上任何其他东西)来扩展较短的列,即
lmax <- max(c(length(A$col1), length(B$col2))) # determining which column is longer / shorter
lmin <- max(c(length(A$col1), length(B$col2)))
col2change <- which(c(length(A$col1), length(B$col2)) == lmin)
newcol <- rep(NA, lmax) # creating a vector of length lmax filled with NAs
newcol[1:lmin] <- ifelse(col2change == 1, # adding the data of the shorter col
A$col1,
B$col2)
combinedcolumns <- ifelse(col2change == 1,
cbind(A$col1, newcol),
cbind(newcol, B$col2))