varias superponer studio poner lineas guiones graficos graficas como automaticos r multiline

studio - superponer graficas en r



Dividir el código en varias líneas en un guión R (5)

Bah, los comentarios son demasiado pequeños. De todos modos, @Dirk tiene mucha razón.

R no necesita que se le diga que el código comienza en la siguiente línea. Es más inteligente que Python ;-) y continuará leyendo la siguiente línea siempre que considere que la declaración es "no terminada". En realidad, en su caso también pasó a la siguiente línea, pero R toma la devolución como un personaje cuando se coloca entre "".

Eso sí, tendrás que asegurarte de que tu código no esté terminado. Comparar

a <- 1 + 2 + 3

con

a <- 1 + 2 + 3

Por lo tanto, al distribuir código en múltiples líneas, debe asegurarse de que R sepa que algo está por venir, ya sea por:

  • dejando un soporte abierto, o
  • terminando la línea con un operador

Cuando estamos hablando de cadenas, esto todavía funciona pero debes ser un poco cuidadoso. Puede abrir las comillas y R continuará leyendo hasta que lo cierre. Pero cada personaje, incluida la nueva línea, se verá como parte de la cadena:

x <- "This is a very long string over two lines." x ## [1] "This is a very/nlong string over two lines." cat(x) ## This is a very ## long string over two lines.

Esa es la razón por la cual en este caso, su código no funcionó: una ruta no puede contener un carácter de nueva línea ( /n ). Así que también es por eso que es mejor utilizar la solución con paste() o paste0() Dirk propuesto.

Quiero dividir una línea en una secuencia de comandos R en varias líneas (porque es demasiado larga). ¿Cómo puedo hacer eso?

Específicamente, tengo una línea como

setwd(''~/a/very/long/path/here/that/goes/beyond/80/characters/and/then/some/more'')

¿Es posible dividir el largo camino en múltiples líneas? Lo intenté

setwd(''~/a/very/long/path/here/that/goes/beyond/80/characters/and/ then/some/more'')

con la tecla de return al final de la primera línea; Pero eso no funciona.

Gracias.


El método anterior de Dirk funcionará completamente, pero si está buscando una forma de traer una cadena larga donde el espacio en blanco / estructura es importante para preservar (ejemplo: una consulta SQL usando RODBC) hay una solución de dos pasos.

1) Trae la cadena de texto en varias líneas

long_string <- "this is a long string with whitespace"

2) R presentará un grupo de /n caracteres. strwrap() con strwrap() , que destruye el espacio en blanco, según la documentation :

strwrap(long_string, width=10000, simplify=TRUE)

Al decirle a strwrap que envuelva su texto en una fila muy, muy larga, obtendrá un vector de un solo carácter sin espacios en blanco / caracteres de nueva línea.


En el mac, puedes golpear:

⎇ and return

Esto le permitirá ingresar un comando en varias líneas y R no debería importarle.


No está rompiendo el código en varias líneas, sino en un único identificador . Hay una diferencia.

Para tu problema, prueba

R> setwd(paste("~/a/very/long/path/here", "/and/then/some/more", "/and/then/some/more", "/and/then/some/more", sep=""))

que también ilustra que está perfectamente bien romper el código en múltiples líneas.


Para ese caso particular, hay file.path :

File <- file.path("~", "a", "very", "long", "path", "here", "that", "goes", "beyond", "80", "characters", "and", "then", "some", "more") setwd(File)