这个包提供了两种类型的对象:—externalVector:行为类似R向量的对象类,但存储在R之外的资源中。—externalStorage:表示存储外部tw R的对象类。externalStorage的一个实现在这个包中提供。它被称为simpleStorage,它使用R本身为对象分配内存。要创建一个externalVector对象,可以使用函数externalVector externalInteger、externalNumeric、externalComplex、externalCharacter或externalLogical。这些函数的行为类似于R附带的向量、整数、数字等。最终,许多对向量对象有效的R操作将可用于外部向量。现在支持大多数基本操作,包括子集、赋值、算术和关系操作以及一些数学函数,如sin、cos或exp。您还可以通过先创建外部向量,然后设置其维数来创建外部矩阵。x <- externalNumeric(12) x[] <- rnorm(12) dim(x) <- c(3,4)你也可以使用等价的矩阵函数。x <- externalMatrix(rnorm(12), nrow=3)支持矩阵子集。x[1:2, 3:4] x[1,1] <- 100 x一些特定于矩阵(或数组)的函数,如colsum或rowsum也被支持。对数组(即长度为(dim(X)) > 2的任何外部向量X)的支持目前还不明确支持-尽管您可以通过设置适当的维度来创建它们。目前,外部向量对象的存储是通过引用传递的,从不复制。 So if you further do y <- x y[1, 1] <- 0 x[1, 1] == 0 # returns TRUE you would see that x[1, 1] and y[1, 1] have same values. In future we will provide externalVector classes which use different copy semantics.