生成AIにRのスクリプトを書いてもらう。
銀行口座の過去1年間の記録を「取引内容」別にまとめることをRでやってみた。生成AI(Gemini)が作成したスクリプトがほとんど修正なしにRStudioで実行された。
J-COMに1年間で97,663円払っていることなどがわかった。ケーブルテレビと電話の使用料である。
スクリプトについて質問して回答を得ることもできる。
.groups = 'drop'は、dplyrパッケージのsummarise()関数で使用される引数で、集計後のデータフレームからグループ化の情報を削除することを意味します。詳細な説明:
group_by()とsummarise()を組み合わせると、通常、summarise()の結果は引き続きグループ化された状態になります。これは、複数の集計を行う場合など、次のステップで再度グループ化の情報を利用したい場合に便利です。しかし、多くの場合、集計が完了したらグループ化の状態を解除したいことがあります。
.groups = 'drop'を指定すると、summarise()の実行後、自動的にグループ化が解除され、通常のデータフレームが返されます。もし
.groups = 'drop'を指定しない場合、結果は「グループ化されたデータフレーム」(grouped tibble)となり、その後の処理で予期せぬ挙動を引き起こす可能性があります。今回のスクリプトでは、集計結果をそのまま表示・保存するだけで、その後のグループ化を前提とした処理は行わないため、
.groups = 'drop'を使うことで、シンプルで扱いやすいデータフレームを得ることができます。
さらに調べると、下水道使用料を含む水道代が、150,414円、電気代が238,317円、ガス代が119,986円であった。
library(dplyr)
library(readr)
library(stringr)# CSVファイルを読み込みます。
df <- read_csv("data/20250820MEISAI-2.csv")# '支払金額' と '預り金額' 列のカンマを削除し、数値に変換します。
df$`支払金額` <- as.numeric(str_replace_all(df$`支払金額`, ",", ""))
df$`預り金額` <- as.numeric(str_replace_all(df$`預り金額`, ",", ""))# NA値を0に置換します。
df$`支払金額`[is.na(df$`支払金額`)] <- 0
df$`預り金額`[is.na(df$`預り金額`)] <- 0# '取引内容'が「スイドウ」で始まる行を抽出します。
suidou_df <- df %>%
filter(str_detect(`取引内容`,"^スイドウ"))# 抽出したデータの合計を計算
total_suidou <- suidou_df %>%
summarise(
合計支払金額 = sum(`支払金額`, na.rm = TRUE),
合計預り金額 = sum(`預り金額`, na.rm = TRUE)
)# 結果を表示
print(total_suidou)



















