如何创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的文档