2016-10-22

Concatenar comillas en Excel

Title

Problema

Queremos concatenar comillas simples y dobles al contenido de una celda en Excel, obteniendo el siguiente resultado.

Solución

  • Comillas simples
  • Entrecomillasmos con comillas dobles las simples y usamos el signo &. Es la opción más sucinta.

    ="'"&A2&"'"

    Otra opción empleando CONCATENAR y CARACTER.

    =CONCATENAR(CARACTER(39),A3,CARACTER(39))

  • Comillas dobles
  • Añadimos con el signo & 4 comillas dobles a cada lado.

    =""""&A2&""""

    Otra opción empleando CONCATENAR y CARACTER.

    =CONCATENAR(CARACTER(34),A2,CARACTER(34))

Entradas relacionadas

2016-10-17

Substituir un elemento de una cadena de texto en R

Title

Problema

Dada una cadena de texto queremos substituir el elemento 'T' por 'U'.

v <- c("GATGGAACTTGACTACGTAAATT")
# Si importamos un fichero que contiene la cadena de texto
v <- readLines("rosalind_rna.txt")

Solución

Paquete base

gsub("T", "U", v)
[1] "GAUGGAACUUGACUACGUAAAUU"

Referencias

2016-10-15

Contar elementos únicos de una cadena de texto en R

Title

Problema

Dada una cadena de texto queremos contar el número de veces que aparecen los elmentos 'A', 'C', 'G', y 'T'.

v <- c("AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC")
# Si importamos un fichero que contiene la cadena de texto
v <- readLines("rosalind_dna.txt")

Solución

  • Paquete base
  • table(strsplit(v, NULL)[[1]])
    
    A  C  G  T 
    20 12 17 21 
    
  • Paquete stringr para la manipulación de cadenas de texto
  • library(stringr)
    # 1 - Elementos codificados a mano
    str_count(v, c("A", "C", "G", "T")) 
    # 2 - Extrae alfabéticamente elementos únicos
    str_count(v, sort(unique(strsplit(v, NULL)[[1]]))) 
    
    [1] 20 12 17 21
    

Referencias

2016-10-07

Obtener celdas cuadradas en lugar de rectangulares con geom_tile en ggplot2

Problema

Tenemos el siguiente gráfico cuyas celdas, creadas con geom_tile, son rectángulos. ¿Cómo conseguimos que sean cuadrados con ggplot2?

set.seed(1)
df <- data.frame(val = rnorm(100), 
                 gene = rep(letters[1:20], 5), 
                 cell = c(sapply(LETTERS[1:5], 
                                 function(l) rep(l, 20))))
library(ggplot2)
ggplot(df, aes(y = gene, x = cell, fill = val)) +
  geom_tile(color = "white")

Solución

Añadimos coord_equal( ). Por defecto, el argumento es ratio = 1, y asegura que una unidad en el eje x tenga la misma longitud que una unidad en el eje y.

ggplot(df, aes(y = gene, x = cell, fill = val)) +
  geom_tile(color = "white") +
  coord_equal()

Referencias

Entradas relacionadas

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

Nube de datos