trabajar studio leer importar exportar datos con commander cargar r io clipboard

studio - leer csv en r



¿Cómo copio y pego los datos en R desde el portapapeles? (8)

El título lo dice todo: tengo mis datos abiertos en otra aplicación (por ejemplo, una hoja de cálculo, como Excel o un editor de texto). Si copio esos datos en el portapapeles de mi sistema operativo, ¿cómo puedo leerlos en R como un data.frame?


El nombre y la conexión exacta utilizados para el ''portapapeles'' varían según el sistema operativo.

para ventanas:

x <- read.delim("clipboard")

para Mac OS:

x <- read.delim(pipe(“pbpaste”))

Esto funciona porque read.delim, como muchas funciones, aceptará un rango de tipos de conexión más allá de solo un archivo. Para Macs en realidad estamos usando una tubería. help(connections) es bastante informativa.

El paquete psych tiene una función read.clipboard() que hace esto un poco más fácil al probar su sistema operativo.

Como lo mencionaron otros aquí, también puede escribir en el portapapeles. Normalmente hay un límite de 32 K, que se puede aumentar al agregar un guión y un número después del portapapeles como, por ejemplo, pasar hasta 256 K de datos del objeto df con:

write.table(df, "clipboard-256")



Ingrese data = as.numeric(read.table(text = "125 140 200 200 190 ", sep = " ")) donde sus números van entre las comillas text = " " .


Mire la documentación para ?file , sección Clipboard :

El archivo del portapapeles se puede usar con description = "portapapeles" en el modo "r" solamente. Esto lee la selección primaria de X11 (consulte http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt ), que también se puede especificar como "X11_primary" y la selección secundaria como "X11_secondary". En la mayoría de los sistemas, la selección del portapapeles (la utilizada por ''Copiar'' de un menú ''Editar'') se puede especificar como "X11_clipboard". Cuando se abre un portapapeles para leer, el contenido se copia inmediatamente al almacenamiento interno en la conexión. Los usuarios de Unix que deseen escribir en una de las selecciones de X11 pueden hacerlo a través de xclip ( http://sourceforge.net/projects/xclip/ ) o xsel ( http://www.vergenet.net/~conrad/software/xsel/ ), por ejemplo por pipe ("xclip -i", "w") para la selección primaria. Los usuarios de macOS pueden usar pipe ("pbpaste") y pipe ("pbcopy", "w") para leer y escribir en el portapapeles de ese sistema.

así, por ejemplo, con magrittr:

base::file(description=''clipboard'') %>% readLines


Necesitaba copiar una url compuesta en el clipboard Windows, mientras que read.table() un vector de caracteres con comillas alrededor de mi URL. En su lugar, utilicé writeClipboard(URL,format=1) de utils del paquete, y writeClipboard(URL,format=1) el problema.


Si desea leer datos tabulares de una hoja de cálculo, he usado el siguiente código

read.table(file = "clipboard", sep = "/t", header=TRUE)


Un método que he probado y funciona tanto en Windows como en MacOS es usar textConnection() con read.table() .

Primero, pegue sus datos en una variable como texto:

density_water_str <- "T_/K Density_g/mL D2O 273 0.999841 1.10469 274 0.999900 NA 275 0.999941 NA 276 0.999965 NA 277 0.999973 1.1057 278 0.999965 1.10562 279 0.999941 NA 280 0.999902 NA 281 0.999849 NA 282 0.999781 NA 281 0.999700 NA"

Luego, lea la cadena de texto usando read.table ()

density_water <- read.table(textConnection( object = density_water_str), header = TRUE, sep = "", stringsAsFactors = FALSE)

No probado en Linux u otros sistemas Unix, pero creo que debería funcionar en varias plataformas.


Suponiendo que tiene datos en el portapapeles de Windows (por ejemplo, datos copiados de Excel), para poner esos datos en una variable llamada copdat en uso R:

copdat <- read.delim("clipboard")

Si desea copiar datos de una variable R llamada rdat en el portapapeles de Windows (por ejemplo, para copiar en Excel) utilice:

write.table(rdat, "clipboard", sep="/t", row.names=FALSE, col.names=FALSE)