Rで解析:Googleスプレッドシートの操作が簡単です「googlesheets4」パッケージ


投稿日: Rの解析に役に立つ記事

Googleスプレッドシートの新規作成、削除、シート名の変更や移動の操作が簡単なパッケージの紹介です。また、スプレッドシートが共有されていればスプレッドシートIDやURLでデータを取得することも可能です。

パッケージバージョンは1.0.1。実行コマンドはwindows 11のR version 4.2.1で確認しています。

パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("googlesheets4")

Amazonアソシエイトの紹介

パフォーマンスを発揮するには体が資本です。ケトルベルとダンベルは多くの筋トレのメニュが可能です。また、ガーミンのvívosmart 5は色々な健康情報を取得できます。かなり良いです。

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("googlesheets4")

###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
n <- 30
TestData <- tibble(Group = sample(paste0("Group_",
                                         formatC(1:4, width = 2, flag = "0")),
                                  n, replace = TRUE),
                   A_Data = sample(c(1:50), n, replace = TRUE),
                   B_Data = sample(c(51:100), n, replace = TRUE),
                   C_Data = sample(c(51:100), n, replace = TRUE)) %>%
  rowid_to_column("ID")
########

#Googleアカウントに接続:gs4_authコマンド
#既に接続済みであればアカウント選択のメッセージが表示されます
gs4_auth()

#The googlesheets4 package is requesting access to your Google account.
#Select a pre-authorised account or enter '0' to obtain a new token.
#Press Esc/Ctrl + C to cancel.

#1: XXXXXXXXXX@gmail.com

#Selection:0

#Googleアカウントの連携解除:gs4_deauthコマンド
gs4_deauth()

#新規Googleスプレッドシートを作成:gs4_createコマンド
#スプレッドシート名:nameオプション
#シート名:sheetsオプション;listでシート名とデータを書き込めます
TestSheet <- gs4_create(name = "からだにいいもの",
                        sheets = list("からだ" = TestData,
                                      "Good" = head(TestData)))
#TestSheetの内容を確認
#SheetIDなどを確認することが出来ます
#各コマンドのssオプションに値として使用可能です
TestSheet
#Spreadsheet name: からだにいいもの
#ID: 1rUW-cf4j3yXoJvErMmpS2kZDkfN6Hk7NUVCIWM124oY
#Locale: ja_JP
#Time zone: Etc/GMT
# of sheets: 2
#(Sheet name): (Nominal extent in rows x columns)
#からだ: 31 x 5
#Good: 7 x 5

#スプレッドシートにシートを追加:sheet_addコマンド
#追加位置:.after/.beforeオプション;数値/シート名で指定が可能
TestSheet %>%
  sheet_add("いいもの", .after = "からだ")

#スプレッドシートのシートをコピー:sheet_copyコマンド
#コピー対象のシート:from_sheetオプション
#コピー後のシート名:to_sheetオプション
TestSheet %>%
  sheet_copy(from_sheet = "Good", to_sheet = "Good2",
             .after = "からだ") %>%
  sheet_copy(from_sheet = "Good", to_sheet = "Good3",
             .after = "からだ")

#シートの削除:sheet_deleteコマンド
#list形式で複数指定が可能
TestSheet %>%
  sheet_delete(sheet = "Good3")

#シートの位置を移動:sheet_relocateコマンド
TestSheet %>%
  sheet_relocate(sheet = "Good2", .after = "Good")

#シート名を変更:sheet_renameコマンド
TestSheet %>%
  sheet_rename(sheet = "Good2", new_name = "KARADA")

#シートにデータを書き込み:sheet_writeコマンド
sheet_write(data = TestData, ss = TestSheet, sheet = "KARADA")

#スプレッドシートのプロパティを確認:sheet_propertiesコマンド
TestSheet %>%
  sheet_properties()
# A tibble: 4 × 8
#  name     index         id type  visible grid_rows grid_columns data  
#  <chr>    <int>      <int> <chr> <lgl>       <int>        <int> <list>
#1 からだ       0  782193909 GRID  TRUE           31            5 <NULL>
#2 いいもの     1  768578770 GRID  TRUE         1000           26 <NULL>
#3 Good         2  706663824 GRID  TRUE            7            5 <NULL>
#4 KARADA       3 1135385526 GRID  TRUE           31            5 <NULL>

#シートIDでデータを取得する:read_sheetコマンド
#取得対象のシートは共有されている必要があります
ReadData <- read_sheet(ss = "1rUW-cf4j3yXoJvErMmpS2kZDkfN6Hk7NUVCIWM124oY",
                       sheet = "Good")

#確認
ReadData
# A tibble: 6 × 5
#    ID Group    A_Data B_Data C_Data
#  <dbl> <chr>     <dbl>  <dbl>  <dbl>
#1     1 Group_04      3     67     98
#2     2 Group_04     36     58     51
#3     3 Group_02     31     92     86
#4     4 Group_02     29     82     78
#5     5 Group_01      5     97     69
#6     6 Group_04      2     72     59

少しでも、あなたの解析が楽になりますように!!

スポンサードリンク

スポンサードリンク