programing

클립 보드에서 R로 데이터를 복사하여 붙여 넣는 방법은 무엇입니까?

goodcopy 2021. 1. 17. 11:57
반응형

클립 보드에서 R로 데이터를 복사하여 붙여 넣는 방법은 무엇입니까?


제목에 모든 것이 나와 있습니다. 다른 응용 프로그램 (예 : Excel과 같은 스프레드 시트 또는 텍스트 편집기)에서 데이터를 열었습니다. 해당 데이터를 내 운영 체제 클립 보드에 복사하면 어떻게 R에서 data.frame으로 읽을 수 있습니까?


Windows 클립 보드에 데이터가 있다고 가정하면 (예 : Excel에서 복사 한 데이터) 해당 데이터를 copdatR로 명명 변수에 넣습니다 .

copdat <- read.delim("clipboard")

rdatWindows 클립 보드로 명명 된 R 변수의 데이터를 복사 하려면 (예 : Excel로 복사) 다음을 사용합니다.

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

'클립 보드'에 사용되는 이름과 정확한 연결은 OS에 따라 다릅니다.

Windows의 경우 :

x <- read.delim("clipboard")

Mac OS의 경우 :

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

이것은 많은 함수와 마찬가지로 read.delim이 파일을 넘어서는 다양한 연결 유형을 허용하기 때문에 작동합니다. Mac의 경우 실제로 파이프를 사용합니다. help(connections)꽤 유익합니다.

psych 패키지에는 read.clipboard()OS를 테스트하여 이것을 조금 더 쉽게 만드는 기능 이 있습니다.

여기에서 다른 사람들이 언급했듯이 클립 보드에 쓸 수도 있습니다. 일반적으로 32K 제한이 있으며, 클립 보드 뒤에 하이픈과 숫자를 추가하여 올릴 수 있습니다.

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

스프레드 시트에서 표 형식의 데이터를 읽으려면 다음 코드를 사용했습니다.

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

datapasta이 작업을 매우 깔끔하게 수행 하는 R 패키지 / RStudio 플러그인 있습니다 . https://CRAN.R-project.org/package=datapasta를 참조 하십시오 . 아래 이미지는 단순함을 보여줍니다.

여기에 이미지 설명 입력


인용 부호 data = as.numeric(read.table(text = "125 140 200 200 190 ", sep = " "))사이에 숫자가 들어가는 위치를 입력 하십시오 text = " ".


복합 을 Windows 에 복사하고 read.table()URL 주위에 따옴표가있는 문자 벡터 출력해야했습니다. 대신 writeClipboard(URL,format=1)패키지 에서 사용 했으며 트릭을 수행했습니다.


?file, 섹션 에 대한 설명서를 참조하십시오 Clipboard.

클립 보드 파일은 "r"모드에서만 설명 = "clipboard"와 함께 사용할 수 있습니다. X11 기본 선택 ( http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt 참조 )을 읽습니다. 이는 "X11_primary"로 지정하고 보조 선택을 "X11_secondary"로 지정할 수도 있습니다. 대부분의 시스템에서 클립 보드 선택 ( '편집'메뉴의 '복사'에서 사용됨)은 "X11_clipboard"로 지정할 수 있습니다. 읽기 위해 클립 보드를 열면 내용이 연결의 내부 저장소에 즉시 복사됩니다. X11 선택 항목 중 하나에 쓰기를 원하는 Unix 사용자는 xclip ( http://sourceforge.net/projects/xclip/ ) 또는 xsel ( http://www.vergenet.net/~conrad/software )을 통해이를 수행 할 수 있습니다 . / xsel /), 예를 들어 기본 선택의 경우 pipe ( "xclip -i", "w")를 사용합니다. macOS 사용자는 pipe ( "pbpaste") 및 pipe ( "pbcopy", "w")를 사용하여 해당 시스템의 클립 보드에서 읽고 쓸 수 있습니다.

그래서, 예를 들어 magrittr로 :

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

내가 테스트 윈도우와 맥 OS 모두에서 작동했다고하는 방법은 사용하는 것입니다 textConnection()read.table().

먼저 데이터를 텍스트로 변수에 붙여 넣습니다.

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"

그런 다음 read.table ()을 사용하여 텍스트 문자열을 읽습니다.

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

Linux 또는 기타 Unix 시스템에서는 테스트되지 않았지만 크로스 플랫폼에서 작동해야한다고 생각합니다.


"datapasta"를 사용하여 "wjchulme"답변을 보완하려면 클립 보드 내용으로 변수를 설정하기 위해 R로 datapasta의 출력을 설정 / 해석하려면 다음과 같은 작업을 수행합니다.

read.from.clipboard <- function() {
  mydata<-eval(parse(text=paste(capture.output(datapasta::tribble_paste(output_context = datapasta::console_context()), file=NULL), collapse="")))
  str(mydata); View(capture.output(str(mydata), file=NULL)) #Check guessed format is ok
  return(mydata)
}
mydata<-read.from.clipboard() #Tibble format
mydata<-as.data.frame(read.from.clipboard()) #Data.frame format


Mojave 10.14를 사용하고 있습니다.

With the input of the command: X<-read.delim("clipboard") I encountered the following warning in Rstudio version Version 1.1.463 for Mac:

Error in file(file, "rt") : cannot open the connection In addition: Warning message: In 
file(file, "rt") : cannot open file 'pbpaste': No such file or directory 

Searching through Google for solution, I have tried and tested countless of solutions, packages and commands for this to run, and with days and nights of trial, finally now it's working.

I hope no one has to go through so much of pain again with this problem, therefore I am sharing this information.

Kindly follow all of the following, as I am unsure as to which particular installation did the magic (the downloads do not need to be in this particular order):

  1. Download R-3.6.1.pkg from https://cran.r-project.org/bin/macosx/

  2. Download Rstudio from https://www.rstudio.com/products/rstudio/download/#download

  3. Install the rcmdr package in Rstudio

    "도구"> "패키지 설치"> 유형으로 이동하십시오. rcmdr

  4. https://www.xquartz.org/ 에서 XQuartz 'X11'다운로드

  5. 모든 패키지 다운로드

    https://cran.r-project.org/bin/macosx/tools/로 이동 한 후 다음 도구를 다운로드합니다.

    • clang-8.0.0.pkg (OS X 10.11+, 서명 됨, 64 비트)
    • gfortran-4.2.3.pkg (OS X 10.5+, 서명 된, 64 비트 드라이버)
    • tcltk-8.5.5-x11.pkg (OS X 10.5 이상, 서명 됨)
  6. 이제 Rstudio로 돌아가서 다음을 입력하십시오.

    X<-read.delim("clipboard") 
    X 
    

    Excel에서 복사 된 데이터는 이제 Rstudio 콘솔로 가져옵니다.

이 정보가 도움이되기를 바랍니다.

참조 URL : https://stackoverflow.com/questions/13438556/how-do-i-copy-and-paste-data-into-r-from-the-clipboard

반응형