tipos relacionales programacion operandos operadores logicos expresiones definicion r perl

relacionales - operandos en programacion



¿Tiene R operadores de tipo cotización como Perl''s qw()? (5)

Aún más simple:

qw <- function(...){ as.character(substitute(list(...)))[-1] }

¿Alguien sabe si R tiene operadores similares a comillas como Perl''s qw() para generar vectores de caracteres?


El popular paquete Hmisc ofrece la función Cs() para hacer esto:

library(Hmisc) Cs(foo,bar) [1] "foo" "bar"

que usa una estrategia similar a la respuesta de Hadley:

Cs function (...) { if (.SV4. || .R.) as.character(sys.call())[-1] else { y <- ((sys.frame())[["..."]])[[1]][-1] unlist(lapply(y, deparse)) } } <environment: namespace:Hmisc>


He agregado esta función a mi archivo Rprofile.site (consulte ?Startup si no está familiarizado)

qw <- function(x) unlist(strsplit(x, "[[:space:]]+")) qw("You can type text here with linebreaks if you wish") # [1] "You" "can" "type" "text" # [5] "here" "with" "linebreaks" "if" # [9] "you" "wish"


No, pero puedes escribirlo tú mismo:

q <- function(...) { sapply(match.call()[-1], deparse) }

Y solo para mostrar que funciona:

> q(a, b, c) [1] "a" "b" "c"


qw = function(s) unlist(strsplit(s,'' ''))