2021年1月25日月曜日

R言語でデータフレームをSQLで操作する

概要

Rのデータフレームを操作する方法として、SQLを用いたものがあります。そのやり方をメモしておこうと思います。


インストール

インストールは以下のコマンドで行います。

> install.packages("sqldf")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/kk/Documents/R/win-library/4.0’
(as ‘lib’ is unspecified)
also installing the dependencies ‘bit’, ‘bit64’, ‘memoise’, ‘plogr’, ‘gsubfn’, ‘proto’, ‘RSQLite’, ‘chron’

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/bit_4.0.4.zip' を試しています 
Content type 'application/zip' length 628912 bytes (614 KB)
downloaded 614 KB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/bit64_4.0.5.zip' を試しています 
Content type 'application/zip' length 562722 bytes (549 KB)
downloaded 549 KB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/memoise_1.1.0.zip' を試しています 
Content type 'application/zip' length 36847 bytes (35 KB)
downloaded 35 KB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/plogr_0.2.0.zip' を試しています 
Content type 'application/zip' length 18855 bytes (18 KB)
downloaded 18 KB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/gsubfn_0.7.zip' を試しています 
Content type 'application/zip' length 358111 bytes (349 KB)
downloaded 349 KB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/proto_1.0.0.zip' を試しています 
Content type 'application/zip' length 472164 bytes (461 KB)
downloaded 461 KB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/RSQLite_2.2.1.zip' を試しています 
Content type 'application/zip' length 2389208 bytes (2.3 MB)
downloaded 2.3 MB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/chron_2.3-56.zip' を試しています 
Content type 'application/zip' length 202074 bytes (197 KB)
downloaded 197 KB

 URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/sqldf_0.4-11.zip' を試しています 
Content type 'application/zip' length 78316 bytes (76 KB)
downloaded 76 KB

package ‘bit’ successfully unpacked and MD5 sums checked
package ‘bit64’ successfully unpacked and MD5 sums checked
package ‘memoise’ successfully unpacked and MD5 sums checked
package ‘plogr’ successfully unpacked and MD5 sums checked
package ‘gsubfn’ successfully unpacked and MD5 sums checked
package ‘proto’ successfully unpacked and MD5 sums checked
package ‘RSQLite’ successfully unpacked and MD5 sums checked
package ‘chron’ successfully unpacked and MD5 sums checked
package ‘sqldf’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
	C:\Users\kk\AppData\Local\Temp\RtmpMPzONL\downloaded_packages


使い方

使い方は以下のとおりになります。SQLの文法に従って操作可能ですが、SQLの文法はここでは省略します。

> library(sqldf)
 要求されたパッケージ gsubfn をロード中です 
 要求されたパッケージ proto をロード中です 
 要求されたパッケージ RSQLite をロード中です 
> # 使い方
> # sqldf("SELECT 列名 FROM データフレーム名 WHERE 列名 ==\'検索文字列\'")
> # 具体例(小売店舗の販売実績集計している風)
<- as="" by="" from="" group="" select="" span="" sqldf="" sum="" tljk="">> hoge <- sqldf("
+ SELECT
+ 	販売年月
+ 	, 店舗コード
+ 	, SUM(販売数) AS 販売数合計
+ 	, SUM(販売高) AS 販売高合計
+ FROM TLJK
+ GROUP BY
+ 	販売年月
+ 	, 店舗コード
+ ")


ということで、本日はここまでで。




0 件のコメント:

コメントを投稿

FX自動トレード_2021年6月実績

      概要 2021年6月が終わり、FX自動トレードによる収益実績を取り纏めましたので振り返ってみたいと思います。 2021年6月結果 2021年6月の実績は、実利利益額:\66,761、実績利益率は1.42%でした。 今月もボラが全く出ず。利益率の連続過去最低記録更新は免...