Crear vectores separados por comas en R

En este artículo, discutiremos cómo crear un vector separado por comas en el lenguaje de programación R.

Método 1: Usar el método shQuote()

En primer lugar, los elementos del vector se encierran entre comillas simples o dobles en función de la entrada mediante el método shQuote(). Este método se puede utilizar para encerrar una string entre comillas dobles. Se utiliza con respecto a los shells del sistema operativo. Luego, esta función se aplica a cada elemento individual del argumento del vector y luego se devuelve. 

Sintaxis: shQuote(str, tipo =)

Parámetros:

  • str : Un vector de caracteres que se utilizará
  • type: Indicador del tipo de cotización de shell. «cmd» y «cmd2» se utilizan en el shell de Windows. «sh» y «csh» se usan en shells similares a Unix.

Los elementos del vector así obtenidos se someten al método paste() que se utiliza para concatenar las strings más pequeñas en un objeto de string más grande separados por el delimitador establecido por el atributo de colapso de este método. 

Sintaxis:

pegar (obj, sep = ” “, colapsar )

Parámetros: 

  • obj: es un vector, una lista o un objeto de array que consta de uno o más elementos
  • sep: el separador utilizado para conectar elementos individuales de obj
  • colapsar: los elementos se combinan en una sola string, utilizando el conector como valor de colapsado. El valor predeterminado es NULL.

Sin embargo, no podemos simplemente usar el método print() para imprimir el vector final, porque el método shQuote() introduce las barras invertidas, y se pueden eliminar usando el método cat() que une los elementos correspondientes del vector.  

Ejemplo 1:

R

# declaring a string vector
vec <- c('geeks','for','geeks')
print ("Original Vector")
print(vec)
 
# converting vector
fvec <- shQuote(vec, type = "cmd")
 
# combining elements using ,
comma_vec <- paste(fvec, collapse = ", ")
 
# printing the final vector
print ("Final Vector")
cat(comma_vec)

Producción

[1] "Original Vector"
[1] "geeks" "for"   "geeks"
[1] "Final Vector"
"geeks", "for", "geeks"

Ejemplo 2:

R

# declaring a string vector
vec <- letters[5:10]
print ("Original Vector")
print(vec)
 
# converting vector
fvec <- shQuote(vec, type = "cmd")
 
# combining elements using ,
comma_vec <- paste(fvec, collapse = ", ")
 
# printing the final vector
print ("Final Vector")
cat(comma_vec)
print("\n")
 
# declaring a numerical vector
num_vec <- c(95:100)
print ("Original Vector")
print(num_vec)
 
# converting vector
vec2 <- shQuote(num_vec, type = "cmd")
 
# combining elements using ,
comma_vec2 <- paste(vec2, collapse = ", ")
 
# printing the final vector
print ("Final Vector")
cat(comma_vec2)

Producción

[1] "Original Vector"
[1] "e" "f" "g" "h" "i" "j"
[1] "Final Vector"
"e", "f", "g", "h", "i", "j"
[1] "\n"
[1] "Original Vector"
[1]  95  96  97  98  99 100
[1] "Final Vector"
"95", "96", "97", "98", "99", "100"

Método 2: Usar el método paste() o paste0()

El método paste() discutido anteriormente también se puede usar únicamente, en caso de que no deseemos obtener necesariamente cada uno de los elementos del vector original como una string individual. En este caso, los elementos correspondientes del vector simplemente se concatenan en una string más grande utilizando la string especificada en el atributo de colapso del método paste(). 

El método paste0() es similar en funcionalidad al método paste(), simplemente no permite que el usuario ingrese una string de separación personalizada. Este método también se puede utilizar para generar un vector separado por comas. 

Sintaxis:

pegar0(…, colapsar = NULL)

Ejemplo:

R

# declaring a string vector
vec <- c(1:10)
print ("Original Vector")
print (vec)
 
# using paste method
vec_mod = paste(vec, collapse=",")
print ("Modified Vector using paste")
print (vec_mod)
 
# using paste0 method
vec_mod1 = paste0(vec, collapse=",")
print ("Modified Vector using paste0")
print (vec_mod1)

Producción

[1] "Original Vector"
[1]  1  2  3  4  5  6  7  8  9 10
[1] "Modified Vector using paste"
[1] "1,2,3,4,5,6,7,8,9,10"
[1] "Modified Vector using paste0"
[1] "1,2,3,4,5,6,7,8,9,10"

Publicación traducida automáticamente

Artículo escrito por mallikagupta90 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *