我有三个尺寸相同的大向量。我需要按一定顺序将它们写在二进制文件中:两个整数后跟一个双精度数。例:
a <- c(1,2,3,4) #integers
b <- c(5,6,7,8) #integers
d <- c(1.32421, 1.42342134123,21.4123412361,1.123412346) #doubles
# desired order:
# 1, 5, 1.32421, 2, 6, 1.42342134123, 3, 7, 21.4123412361, 4, 8, 1.12344112346
我想用循环做它。可能吗?这是此示例的实际代码:
con_ <- "a"
file.create(con_)
con <- file(con_,"wb")
for(i in seq(1,length(a))){
ve <- c(a[i],b[i])
writeBin(ve,con, size = 4)
writeBin(d[i],con, size = 8)
}
您可以rbind
将向量按所需顺序获得。
c(rbind(a, b, d))
#Similar to
#c(t(cbind(a, b, d)))
#[1] 1.00 5.00 1.32 2.00 6.00 1.42 3.00 7.00 21.41 4.00 8.00 1.12
请注意,向量中只能包含一个类别的数据。因此,在此示例中,所有这些都变成了数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句