我有一些数据需要以二进制格式放入数据框架(作为由原始向量表示的单个条目)。下面是一个示例:
#Record identifier
idx <- "identifier"
#The numeric data for a single record
aa <- c(5.99, 999, 5.99, 82.93)
#Convert data to double precision binary format
bin.aa <- writeBin(aa, raw(), endian = "little")
print(bin.aa)
[1] f6 28 5c 8f c2 f5 17 40 00 00 00 00 00 38 8f 40 f6 28 5c 8f c2 f5 17 40 ec 51 b8 1e 85 bb 54 40到目前一切尚好。我有我想要的原始向量。现在,我想创建一个数据框架,其中包含两个列和一个行,其中包含(在第1列中)“标识符”和(在第2列中)原始向量bin.aa。不幸的是,我的尝试没有奏效:
> df <- data.frame(idx, bin.aa)
> head(df)
idx bin.aa
1 identifier f6
2 identifier 28
3 identifier 5c
4 identifier 8f
5 identifier c2
6 identifier f5这肯定不是我想要得到的--我现在有32行,每一行包含一个来自原始向量的字节。我知道可以做我正在尝试的事情,因为我可以做与我在这里尝试的相反的事情:即我可以使用readBin()命令将原始向量读取到单个数据帧条目中。很明显我漏掉了什么。
发布于 2016-05-10 05:21:23
你可以试试:
df <- data.frame(idx, I(list(bin.aa)))这里需要I操作符,因为list(bin.aa)只是一个元素的列表,默认情况下它在data.frame调用中未列出。
https://stackoverflow.com/questions/37129368
复制相似问题