Cómo crear un vector R vacío para agregar nuevos elementos

Quiero usar R en Python, como lo proporciona el módulo Rpy2. Observo que R tiene operaciones [] muy convenientes mediante las cuales puede extraer columnas o líneas específicas. ¿Cómo podría lograr tal función con los scripts de Python?

Mi idea es crear un vector R y agregar los elementos deseados en este vector para que el vector final sea el mismo que en R. seq() un seq() , pero parece que tiene un dígito inicial 1, por lo que el final El resultado siempre comenzaría con el dígito 1, que no es lo que quiero. Entonces, ¿hay una mejor manera de hacer esto?

 vec <- vector() 

Ver también ayuda de vectores.

 ?vector 

Yo pre-asigno un vector con

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

Luego puede usar [] para insertar valores en él.

Puedes crear un vector vacío así

 vec <- numeric(0) 

Y luego agregar elementos usando c ()

 vec <- c(vec, 1:5) 

Sin embargo, como dice Romunov, es mucho mejor asignar previamente un vector y luego poblarlo (ya que esto evita la reasignación de una nueva copia de tu vector cada vez que agregas elementos)

También he visto

 x <- {} 

Ahora puede concatenar o enlazar un vector de cualquier dimensión a x

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

Para crear un vector vacío use:

 vec <- c(); 

Tenga en cuenta que no estoy haciendo ninguna suposición sobre el tipo de vector que necesita, por ejemplo, numérico.

Una vez que se haya creado el vector, puede agregarle elementos de la siguiente manera:

Por ejemplo, para agregar el valor numérico 1:

 vec <- c(vec, 1); 

o, para agregar un valor de cadena "a"

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

Como señaló Brani, el vector () es una solución, por ejemplo,

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

devolverá un vector llamado "newVector" con 50 "0" como valores iniciales. También es bastante común simplemente agregar el nuevo escalar a un vector existente para llegar a un vector expandido, por ejemplo

aVector <- c(aVector, newScalar)

En rpy2, la forma de obtener el mismo operador que “[” con R es usar “.rx”. Consulte la documentación sobre extracción con rpy2.

Para la creación de vectores, si conoces Python, no debería haber ningún problema. Consulte la documentación sobre la creación de vectores.