Mostrando entradas con la etiqueta interaction. Mostrar todas las entradas
Mostrando entradas con la etiqueta interaction. Mostrar todas las entradas

2016-10-04

Combinaciones de dos vectores contenadas y separadas por comas en R

Title

Problema

Queremos obtener todas las combinaciones de dos vectores contatenadas y separadas por comas.

pets <- c('dog','cat','lemur')
fruit <- c('banana','apple','papaya')
Y obtener el siguiente resultado:

[1] "cat, apple"    "dog, apple"    "lemur, apple" 
[4] "cat, banana"   "dog, banana"   "lemur, banana"
[7] "cat, papaya"   "dog, papaya"   "lemur, papaya"

Solución

  • Paquete base

levels(interaction(pets, fruit, sep = ', '))
Obtenemos un vector de 9 caracteres con las combinaciones separadas por coma y un espacio

Referencias

2016-04-13

Añadir caracteres a una columna de un data frame en R

Title

Problema

Tenemos un data frame y queremos añadir a la primera columna los caracteres chr.

df <- structure(list(V1 = c(1, 1, 1, 1, 2, 2), V2 = c(3423086, 3467184, 
4115236, 5202437, 7132558, 7448688), V3 = c(3423685, 3467723, 
4115672, 5203057, 7133089, 7449283)), .Names = c("V1", "V2", 
"V3"), row.names = c(NA, -6L), class = "data.frame")
  V1      V2      V3
1  1 3423086 3423685
2  1 3467184 3467723
3  1 4115236 4115672
4  1 5202437 5203057
5  2 7132558 7133089
6  2 7448688 7449283

Soluciones

Disponemos de múltiples opciones.

df <- paste("chr", df$V1, sep = "")
df <- sub("^", "chr", df$V1 )
df <- sprintf('chr%i', df$V1)
df <- interaction( "chr", df$V1, sep = "")

Resultado

   V1      V2      V3
1 chr1 3423086 3423685
2 chr1 3467184 3467723
3 chr1 4115236 4115672
4 chr1 5202437 5203057
5 chr2 7132558 7133089
6 chr2 7448688 7449283

Referencias

Nube de datos