Quiero usar R en Python, como lo proporciona el módulo Rpy2. Noto que R tiene []
operaciones muy convenientes mediante las cuales puede extraer las columnas o líneas específicas. ¿Cómo podría lograr tal función mediante scripts de Python?
Mi idea es crear un vector R y agregar esos elementos deseados en este vector para que el vector final sea el mismo que en R. Creé un seq()
, pero parece que tiene un dígito inicial 1, por lo que el resultado final siempre sería Empiece con el dígito 1, que no es lo que quiero. Entonces, ¿hay una mejor manera de hacer esto?
Puedes crear un vector vacío como ese
Y luego agregue elementos usando c ()
Sin embargo, como dice romunov, es mucho mejor preasignar un vector y luego completarlo (ya que esto evita reasignar una nueva copia de su vector cada vez que agrega elementos)
fuente
Para crear un vector vacío use:
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 ha creado el vector, puede agregarle elementos de la siguiente manera:
Por ejemplo, para agregar el valor numérico 1:
o, para agregar un valor de cadena "a"
fuente
vec <- c()
establece vec enNULL
. Si desea un vector vacío, usaríavec <- character()
,vec <- numeric()
etc.Yo tambien he visto
Ahora puede concatenar o enlazar un vector de cualquier dimensión a
x
fuente
x <- NULL
, y no crea nada más que una referencia a ninguna parte.Como señaló Brani, 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)
fuente
En rpy2, la forma de obtener el mismo operador que "[" con R es usar ".rx". Consulte la documentación sobre la extracción con rpy2
Para crear vectores, si conoce Python, no debería haber ningún problema. Consulte la documentación sobre la creación de vectores.
fuente