如何创build一个空的R向量来添加新的项目

我想在Python中使用R,就像模块Rpy2提供的那样。 我注意到R有非常方便的操作,通过它可以提取特定的列或行。 我怎么能通过Python脚本实现这样的function?

我的想法是创build一个R向量,并将这些向量添加到这个向量中,以便最终的向量与R中的向量相同。我创build了一个seq() ,但它似乎有一个初始数字1,所以最终结果总是以数字1开始,这不是我想要的。 那么,有没有更好的方法来做到这一点?

 vec <- vector() 

另见vector帮助

 ?vector 

我预先分配一个向量

 > (a <- rep(NA, 10)) [1] NA NA NA NA NA NA NA NA NA NA 

然后您可以使用[]向其中插入值。

你可以像这样创build一个空的vector

 vec <- numeric(0) 

然后使用c()添加元素

 vec <- c(vec, 1:5) 

然而,正如romunov所说,预先分配一个向量然后填充它会更好(因为这样可以避免每次添加元素时重新分配向量的新副本)

我也见过

 x <- {} 

现在,您可以将任何维度的vector连接或绑定到x

 rbind(x, 1:10) cbind(x, 1:10) c(x, 10) 

要创build一个空的vector使用:

 vec <- c(); 

请注意,我没有对你需要的vectortypes做任何假设,例如数字。

一旦vector已经被创build,你可以添加元素到它,如下所示:

例如,要添加数字值1:

 vec <- c(vec, 1); 

或者,添加一个string值“a”

 vec <- c(vec, "a"); 

正如Brani指出的,vector()是一个解决scheme,例如

newVector <- vector(mode = "numeric", length = 50)

将返回一个名为“newVector”的vector,其中50“0”作为初始值。 将新标量添加到现有vector以获得扩展vector也是相当常见的,例如,

aVector <- c(aVector, newScalar)

在rpy2中,获得和R一样的运算符的方法是使用“.rx”。 请参阅有关使用rpy2进行提取的文档

为了创buildvector,如果你知道用Python解决问题,不应该有任何问题。 请参阅有关创buildvector的文档