728x90

데이터파일을 usb에 넣거나 클라우드에 잇는 파일들을 다운받아 사용하려면 귀찮을때가 많은데

구글시트를 R에서 연동을하면 따로 다운로드를 받지 않고 바로 사용할수 있는 패키지입니다.

 

실행시키면 콘솔창에 url이 뜨는데 그 url을 복사해서 들어간다음에

로그인하고 google이 주는 key값을 콘솔에 입력하면

연동이 됩니다.

 


install.packages('googlesheets')

library(googlesheets)
library(dplyr)

########################################
#함수로 만든 google sheet불러오기
########################################

library(googlesheets)
library(dplyr)
read.gs <- function(x,ws=1){
  allpack <- c("devtools", "ggplot2", "rJava", "XLConnect", "reshape2", "dplyr", "plyr", "gdata", "readr", "tools", "tcltk", "svDialogs", "stringr", "extrafont")
 
  newpack <- setdiff(allpack, rownames(installed.packages())) # 없는 패키지 추출
  
  if (length(newpack) > 0) { # newpack의 패키지를 설치, 없으면 통과
    install.packages(newpack)
  }
  
  # 필수 패키지 모두 라이브러리로 등록
  for(i in allpack){
    require(i, character.only = TRUE) # character.only : 객체로 취급하지 않고, 문자로 취급
  }
 
 
       x<-gs_ls(x)[1,1] %>%
        as.character() %>%
        gs_title() %>%
        gs_read(ws = ws) %>%
        as.data.frame() #%>%
   
  
    attributes(x)$spec <- NULL
    return(x)
    }

bb.df <-read.gs("example_kbo2015.") #이부분에서 ""안에 파일명을 쓰면됩니다.

                                                 #풀네임을 안쳐도 구분가능한 정도까지만 쓰면 가져올수 있습니다.
str(bb.df)
x
### 구분된(콤마나 탭으로) 데이터 업로드 하기
iris %>%
  head(5) %>%
  write.csv("iris.csv", row.names = FALSE)

iris_ss <- gs_upload("iris.csv")

iris.gs <- gs_read(iris.ss)

file.remove("iris.csv")

# 등록코드 지우기 (작업디렉토리에 있음!)
#Files에 .httr-oauth 지우기
## 해당 패키지 지우고 언로드 하기
remove.packages('googlesheets')
unloadNamespace("googlesheets")

 

+ Recent posts