一所懸命に手抜きする

デスクワークばかりのスポーツ嫌いで50歳も過ぎ、いよいよ足腰に衰えを感じつつある昨今。

R

rbind()とbind_rows() の違い 【R】

R

rbind()とbind_rows() 縦結合といえば rbind() bind_rows()は多少融通が利きます bind_rows()の方が速い おまけ : 列名が違うデータフレームを強制的に縦結合する方法 rbind()とbind_rows() 例えば、2018年の売上データと2019年の売上データを結合するといっ…

write.table()と列見出し・行見出し: row.names,col.names の設定について【R】

R CSV

write.table()と列見出し・行見出し row.names,col.namesの設定を試してみる write.table()と列見出し・行見出し R言語では write.csv() により簡単にCSVを出力できるのでした。 a-habakiri.hateblo.jp しかし、少し体裁をいじろうとすると、 write.table() …

write.csv()とwrite.csv2()はどう違う?【R】

R CSV

write.csv()とwrite.csv2()はどう違う? write.csv()とwrite.csv2()の違い write.csv()とwrite.csv2()はどう違う? a-habakiri.hateblo.jp write.csv()はwrite.table()のwrapperですが、同じくwrite.table()のwrapperとしてwrite.csv2() というものもあります…

Mi Band Master のデータをRで読み込む(2) RSQLiteはDBIを利用しているらしい

R SQL

RからSQLiteデータベースを操作 シャオミのMi Band 2 のデータをMi Band Master というアプリで出力すると、db.sqlite というファイルが作成されます。これはSQLite形式のデータベースです。このデータベースをRで読み込む方法を実例で勉強しましたので備忘…

Mi Band Master のデータをRで読み込む方法

Mi Band Master のデータをRで読み込む Mi Band 2 のデータはCloudにあるらしいのですが、公式アプリ Mi Fit を使ってもCSVなどに落とすことはできないようです。一方、Mi Band Master というアプリは取得したデータを、SQLite形式の db.sqlite として出力し…

SQLを用いて重複レコードを全抽出(2回目以降出現のレコードを抽出するのではなく!)[R]

R SQL

データには重複が含まれることがある 重複データの例 duplicated だと困ったことが… 重複とは出現回数が2以上ということ 出現回数を数える 出現回数>1のデータのみ数える RではなくてもSQLなら同じこと SQLの書き方 データには重複が含まれることがある 重複…

RデータフレームのヘッダをASのテキスト記述で置き換えるユーザー関数 ReplaceASHeader連想配列的なこと(3)

まずは復習から AS400にも日本語対応の項目別名的なものがあるが取得するのは難しい ユーザー関数 GetASHeader()でテキスト記述を取得し手動でヘッダ置き換え データフレームのヘッダをASのテキスト記述で置き換えるユーザー関数 ReplaceASHeader() ユーザー…

ピリオドが含まれるAS/400テーブル名のSQL表記法

ピリオドを含むテーブル名 AS400のテーブル名はAS/400端末で見ると、一般にライブラリ名/ファイル名となります。 SQLで呼び出す場合には、AS/400上のSTRSQLなどでもライブラリ名.ファイル名となるようです。 当社のシステム担当が 実績/売上.01、実績/売上.0…

Rで連想配列的なことをしたい(2)

R

連想配列(1) 連想配列(2) 多次元データフレームを利用する 連想配列(1) a-habakiri.hateblo.jp ディクショナリやハッシュ、マップなどいろいろ呼び方はあるもののいわゆる連想配列のようなものをRで実現したいと思いました。 前回は、一行データフレームに列…

Rで連想配列的なことをしたい(1)

R

連想配列 相互変換しないなら簡単 データフレームのラベルと値の対応を連想配列として使用 この方法は値からラベルへの対応はできません 連想配列 awk を使っていた頃、連想配列に随分お世話になりました。配列の場合 data(1)=“ABC” のようにインデックスは…

R言語ユーザー関数xlTrimはExcelのTrimを再現(文字列の両側の空白を削除。文字列中空白を1個にする)

前回のxlTrim()関数 a-habakiri.hateblo.jp 前回紹介したxlTrimは、Excelのワークシート関数trimの再現を試みたものです。 文字列の前後の空白を削除し、文字列中の空白は1つにするというものです。 xlTrim<- function(str,.what=" \t\n\r",.after=" ") { # …

文字列の前後の空白文字を削除するユーザー関数 myTrim()、LTrim()、RTrim()、Trim()、xlTrim()

R

文字列の前後の空白を削除するR標準関数 trimws() では全角空白が消せない 空白ってなんだ? ユーザー関数 myTrim,LTrim,RTrim,Trim,xlTrim を作りました 下位関数 myTrim() 使用例 上位関数 LTrim()、RTrim()、Trim()、xlTrim() 動作確認 文字列の前後の空白…

Rで文字列の空白をなるべく簡単に削除する

R

削除したい空白は半角?全角? 文字列の削除にはgsub()関数が使えます 全角半角両方の空白とtabを表す正規表現[:blank:] 正規表現[:blank:]は全角半角両方の空白だけでなくtabも含む 半角空白を削除してから全角空白を削除するのが楽 ※前回記事 文字列の左側/…

文字列の左側/右側/両側の半角空白や\t\r\nを削除するR関数 trimws()

ASから取得した文字列には右側に空白が… trimws() 使用例 trimws() 使用上の注意 str_trim()関数 結局どうしましょうか ASから取得した文字列には右側に空白が… AS400からデータを取得すると文字列に空白がついてきて困ることがあります。これはAS400内部で…

パターンにマッチした部分文字列を返すR標準関数 regmatches()

R

Rは標準では一致する文字列を一発で抽出できないらしい R標準でもあわせ技で部分文字列を抽出できる 検索パターンに一致する部分の開始位置と長さを得る ① regexpr() 注意 ② gregexpr() マッチ部分の開始位置・長さ等から文字列を抽出する regmatches() Rは…

【R】factor型について(1)_Levels:・・・って?

R

2020/2/26改訂 Levels:・・・って? Rで data.frame を処理して得られた戻り値の下に Levels: ○,○・・・ のように記載されていることがあります。 これはfactor型と言うらしい わかりにくいので調べてみました。 例として、文字列ベクトルを用意します。 # Sa…

AS400からRにデータを取り込む方法。さらにユーザー関数化 GetAS400()

AS400からRにデータを取り込む AS400からRへのデータ読み込みは関数化しましょう ユーザー関数 GetAS400() ユーザー関数 GetAS400()の実行例 AS400からRにデータを取り込む RはRODBCというパッケージを使うことによりODBC経由でAS400からデータを取り込むこ…

R言語で特定の文字列より左側、右側の文字列を返すユーザー関数

R

HTMLやXML,iCalを処理することがあるのですが、ある文字列より右側の文字列とか左側の文字列を抽出したいことがあります。 splitLeft("SUMMARY:東京オリンピック出場",":") ##SUMMARY splitRight("SUMMARY:東京オリンピック出場",":") ##東京オリンピック出…

write.csv() で簡単にCSV出力。ただしrow.names=TRUE/FALSEを意識する必要あり (R言語)

R CSV

データやり取りはCSVが基本 CSVやTSVを書き出すのは簡単です write.csv()で簡単にCSVが出力できます クリップボードへも簡単出力 引数不要とは制限が厳しいということでもある write.table() write.csv() col.names=NAはいじれないのでヘッダが必ず付与され…

CSVからSQLでデータを取得する sqldf::read.csv.sql() 関数(R言語)

sqldfライブラリの read.csv.sql() 関数はSQLでCSVを読み込める read.csv.sql()使用法 CSVからSQL(select) CSVからSQL(select以外) 前回は R に取り込んだデータフレームを SQL で取り扱う sqldf ( RデータフレームからSQLでデータを取得するsqldfライブラリ…

RデータフレームからSQLでデータを取得するsqldfライブラリ

R SQL

Rではデータフレームが主要な処理対象 R標準ではデータフレームをSQLで処理できない データフレームをSQLで処理するライブラリ sqldf sqldfはSQLite 注意 Rではデータフレームが主要な処理対象 Rではデータフレームというものが主要な処理対象となります。 …

Excelからデータを読み込むR関数(7)sqlQuery()はやや面倒なのでユーザー関数化sqlExcel()

ExcelからRへのデータ読み込みは関数化しましょう ユーザー関数 sqlExcel() ユーザー関数 sqlExcel() 使用例 最低限の指定(ファイル名のみ) ファイル名とシート名を指定 シート名を[ $]形式で引数として渡した場合のエラーの例。 ヘッダのないExcelデータを…

Excelからデータを読み込むR関数(6)ExcelからSQLで条件抽出するR関数sqlQuery()

RでExcelデータを読み込めましたが… ExcelシートからSQLで条件にあったレコードのみ読み込む方法 応用:Excel2003以前のオートフィルタの代用 RでExcelデータを読み込めましたが… RODBC,readxl,gdata,XLConnect,xlsReadWrite,xlsx,openxlsxなどでExcelデータ…

Excelからデータを読み込むR関数(5)readxl::read_excelのwrapper

readxlパッケージはExcelファイルを簡単にかつ高速に読み込めるのでした。 しかし、DEFINEDNAME:・・・・ と無駄な出力がなされることがありました。これに対して t-kalinowski さんがreadxlの無駄な出力を抑制するwrapperを発表されています。 github.com …

Excelからデータを読み込むR関数(4)とりあえずまとめ。書き込みもふくめて

これまでのまとめ:RでExcelファイルを読み込み/書き込み R言語で処理するためにExcelからデータを読み込んだり、RからExcelに書き出したりする関数について個人の感想をまとめると下の表のようになります。 パッケージ read write 備考 RODBC ○:xls○:xlsx ○:…

Excelからデータを読み込むR関数(3)書き込みも

ExcelからRにデータを取り込むために先賢が努力してきた xlsx取り扱いでトラブルが多いようです まずはサンプルを RODBCパッケージ readxlパッケージ gdataパッケージ XLConnectパッケージ xlsReadWriteパッケージ xlsxパッケージ WriteXLSパッケージ openxl…

Excelからデータを読み込むR関数(2)readxl::read_excel

Rは標準ではExcelファイルを読み込めないらしい まずはサンプルを RでExcelデータを読み込む(2) readxlパッケージを使う方法 read_excel実行例1 read_excel実行例2 read_excel実行例3 Rは標準ではExcelファイルを読み込めないらしい 企業では多くのデータがE…

Excelからデータを読み込むR関数(1)RODBC::sqlFetch()

Rは標準ではExcelファイルを読み込めないらしい RでExcelデータを読み込む RODBCパッケージの関数を使う方法 readxlパッケージ関数を使う方法もある Rは標準ではExcelファイルを読み込めないらしい 企業では多くのデータがExcelファイルとして存在します。 …

R言語dplyr::distinctで簡単に重複行を削除できる。キー項目以外の項目も簡単に抽出。

R

SQLの select distinct では指定した列をキーにして重複のないデータを取得できます。 重複する行を削除するSELECT DISTINCT - 一所懸命に手抜きする 重複行削除の際、重複判定に指定したキー列項目以外の列も取得するSQL - 一所懸命に手抜きする R言語でも…

R言語のuniqueや!duplicated で重複のないデータを取り出す

R

SQLの select distinct では指定した列をキーにして重複のないデータを取得できます。 重複する行を削除するSELECT DISTINCT - 一所懸命に手抜きする 重複行削除の際、重複判定に指定したキー列項目以外の列も取得するSQL - 一所懸命に手抜きする ではR言語…