生成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)
「g. 情報技術」カテゴリの記事
- 生成AIにRのスクリプトを書いてもらう。(2025.08.20)
- 安全保障のジレンマと市民の役割(2025.08.14)
- Geminiは、Rのスクリプトを書くことができる。(2025.08.10)
- ブログの文化的特徴をGeminiで確認してみた。(2025.08.02)
- mac復旧(2025.07.07)
「f. 統計言語R」カテゴリの記事
- 2種類のグラフ:参院選2025年福岡の市町村別の政党得票数(比例代表)及び候補者得票数(選挙区)の対応分析(2025.12.22)
- 地域や政党のクラスタリング(参院選2025年福岡のデータの対応分析に基づく)(2025.12.20)
- CAのあとにクラスタリングをするというオプションがRコマンダーにあった。(2025.12.18)
- [資料]参院選2025年データ(政党得票数と候補者得票数、政党の得票数と相対得票率) (2025.12.16)

