Arrays 在R中写入和读取3D数组

Arrays 在R中写入和读取3D数组,arrays,r,file,data-structures,Arrays,R,File,Data Structures,我在R中构建了一个3D数组(尽管名称似乎没有显示): 我使用以下命令将其写入文件: write.table(v.arr, file = “Test Data”) 然后,我用以下文字重新阅读: test.data <- read.table(“Test Data”) 显然,我需要在写入之前对文件进行结构调整,或者在读回时对其进行结构调整,以恢复3D阵列。我总是可以重新构造从阅读中获得的数据。这是最好的办法吗?提前感谢。您的问题是您正在使用write.table来执行此操作,因此(我相信)

我在R中构建了一个3D数组(尽管名称似乎没有显示):

我使用以下命令将其写入文件:

write.table(v.arr, file = “Test Data”)
然后,我用以下文字重新阅读:

test.data <- read.table(“Test Data”)

显然,我需要在写入之前对文件进行结构调整,或者在读回时对其进行结构调整,以恢复3D阵列。我总是可以重新构造从阅读中获得的数据。这是最好的办法吗?提前感谢。

您的问题是您正在使用
write.table
来执行此操作,因此(我相信)这是将数组强制为表。如果您希望保存它,并且不介意它采用特定于R的格式,则可以轻松使用
save
load
功能

save(v.arr,file = "~/Desktop/v.arr.RData")
rm(list=ls())

load("~/Desktop/v.arr.RData")
v.arr

您想在R中使用此数据还是同时使用其他软件读取?如果只使用R,为什么不将.rda(RData)格式与
save
(和
load
)命令一起使用..?数组构造中dimnames参数的用途是什么?它似乎被忽略了。我认为它必须是一个包含三个条目的列表才能产生任何效果…dimnames将为数组的维度分配名称,但我需要将“列表”添加到名称向量。如果发生错误,它将被忽略。是的,下面的答案建议我使用RData格式是一个好的解决方案。如果我需要导出数据,我将在遇到它时跨越这座桥。谢谢大家的评论。是的,这是内部中间数据,这是一个完美的解决方案。目前不要预期需要导出它。谢谢在这种护理中正确使用dimnames应该是:dimnames=list(c(“A”、“B”)、c(“X”、“Y”、“Z”)、c(“P”、“Q”、“R”))可能是为了把它放在问题上?实际上不是。主要目标是写-读问题。我在这里使用了一个测试用例,我已经为实际3D阵列的实际dimnames解决了这个问题。但是,如果其他人正在阅读,我想我应该添加此注释。值得指出的是,
save
/
load
还有其他优点:文件会小得多,而且(如果数组很大)加载速度会快得多。
test.data <- read.table(“Test Data”)
  X1 X2 X3 X4 X5 X6 X7 X8 X9
1  1  3  5  7  9 11 13 15 17
2  2  4  6  8 10 12 14 16 18
save(v.arr,file = "~/Desktop/v.arr.RData")
rm(list=ls())

load("~/Desktop/v.arr.RData")
v.arr