Il titolo dice tutto: ho i miei dati aperti in un'altra applicazione (ad es. Un foglio di calcolo, come Excel, o un editor di testo). Se copio i dati negli appunti del mio sistema operativo, come posso leggerli in R come data.frame?Come faccio a copiare e incollare dati in R dagli Appunti?
risposta
Supponendo di avere dati nella clipboard di Windows (ad esempio, dati da Excel copiato), a mettere i dati in una variabile denominata copdat
in uso R:
copdat <- read.delim("clipboard")
Se si desidera copiare i dati da un R variabile denominata rdat
negli appunti di Windows (ad esempio, per copiare in Excel) usa:
write.table(rdat, "clipboard", sep="\t", row.names=FALSE, col.names=FALSE)
Digitare data = as.numeric(read.table(text = "125 140 200 200 190 ", sep = " "))
dove i numeri vanno tra le virgolette text = " "
.
il nome e il collegamento esatto utilizzato per il 'appunti' varia a seconda del sistema operativo.
per Windows:
x <- read.delim("clipboard")
per Mac OS:
x <- read.delim(pipe(“pbpaste”))
Questo funziona perché read.delim, come molte funzioni, accetta una vasta gamma di tipi di connessione al di là di un semplice file. Per i Mac stiamo effettivamente usando una pipe. help(connections)
è piuttosto informativo.
Il pacchetto ps ha una funzione read.clipboard()
che rende questo un po 'più semplice testando il sistema operativo.
Come notato da altri qui, è anche possibile scrivere negli appunti. V'è normalmente un limite di 32 K, che può essere sollevato tramite l'aggiunta di un trattino e il numero dopo appunti come nel caso, ad esempio, il passaggio fino a 256 K vale la pena di dati provenienti da oggetto df con:
write.table(df, "clipboard-256")
In Ubuntu si sostituisce 'pbpaste' con' xsel -bo' o possibilmente 'xclip' in un altro * nix. – isomorphismes
Vorrei che questa fosse una risposta accettata ... (beh, io uso OS X). – Blaszard
@isomorphismes quindi il comando ubuntu sarebbe 'read.delim (pipe (" xsel -bo "))'? L'ho provato e non ha funzionato. Si suppone che quel comando funzioni per copia/incolla di LibreOffice? – Reilstein
Se si desidera per leggere nei dati tabulari da un foglio di calcolo, ho usato il seguente codice
read.table(file = "clipboard", sep = "\t", header=TRUE)
C'è un plug-in R/RStudio chiamato datapasta
che funziona perfettamente - vedere https://CRAN.R-project.org/package=datapasta. Immagine qui sotto è una dimostrazione della sua semplicità
Sembra bello, ma non funziona su Ubuntu 16.04 e R versione 3.4.0 – Facottons
Do' sudo apt-get install xclip' e funzionerà. – MilesMcBain
Guardate la documentazione per ?file
, sezione Clipboard
:
Appunti file può essere utilizzato con description = "appunti" in modalità "r" solo. Questo legge la selezione primaria X11 (vedi http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt), che può anche essere specificata come "X11_primary" e la selezione secondaria come "X11_secondary".Sulla maggior parte dei sistemi, la selezione degli appunti (usata da "Copia" da un menu "Modifica") può essere specificata come "X11_clipboard". Quando un blocco appunti viene aperto per la lettura, i contenuti vengono copiati immediatamente nella memoria interna della connessione. Gli utenti Unix che desiderano scrivere su una delle selezioni X11 possono farlo tramite xclip (http://sourceforge.net/projects/xclip/) o xsel (http://www.vergenet.net/~conrad/software/xsel/), ad esempio tramite pipe ("xclip -i", "w") per la selezione primaria. Gli utenti macOS possono usare pipe ("pbpaste") e pipe ("pbcopy", "w") per leggere e scrivere negli appunti di quel sistema.
così, ad esempio con magrittr:
base::file(description='clipboard') %>% readLines
possibile duplicato del [codice per importare i dati da una query di Stack overflow in R] (http://stackoverflow.com/questions/10849270/code-to -import-data-da-uno-stack-overflow-query-in-r) – GSee