読者です 読者をやめる 読者になる 読者になる

一所懸命に手抜きする

監査の仕事をしています。ITを利用し、良い意味で「手抜き」することは効率化と精度アップに役立つと思うんです。部下への引き継ぎのためにまずは諸々頭から引っ張り出そうとブログを始めました。

[ Main ]  [ 別館 ]
当ブログで取り上げられている事案やデータベース、人物等はすべてフィクションです。

R

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は…

factor型(1)_Levels:・・・って?

R

Levels:・・・って? Rで data.frame を処理して得られた戻り値の下に Levels: ○,○・・・ のように記載されていることがあります。 これは何でしょうか。 例として、 #Sample1 nm<-c(1,2,3,4) jp<-c("支社番号","支社名","支店番号","支店名") df<-data.frame…

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() 書き出したCSVを読み込むときの注意 データやり取りはCSVが基本 企業では Excel がデータソースとなることが多いですが、学究の…

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言語…

Rのインストール(3)初心者はEZRをインストールしては?

R

EZR(EasyR)はおすすめ [Rのインストール(2)]にて 自治医科大学附属さいたま医療センターの先生の作成されたEZRに言及しました。 初心者はEZR(無料統計ソフトEZR (Easy R))を使わなくてもインストールすべきだと思います。 それは、単にGUIでわかりやすいとい…

RでODBCを使うためのライブラリRODBC

Rは便利とは言っても、Rだけで業務は完結することはまずありません。Rで処理するデータはどこからか取得する必要があります。 CSVならば標準のread.table()で取得できますが、会社ではxlsやMDBなど多様なデータベースからデータを取得することがよくあります…

R言語でLeft関数

R

Left()関数 動作確認 Left()関数 多くの言語にはLeft()関数が存在します。R言語には標準では文字列の左側x文字を切り出すという関数は見当たりません。 もっともsubstr(),substring()で簡単に切り出せるので問題がないと言えば問題がないのですが。 Left(X,3…

列名が異なれば別物としつつ列名で縦結合するユーザー関数(rbind拡張3)~三つ以上のデータフレームにも対応

R

列名が違う場合には縦結合は困難 項目順が違ったり項目が不足していたり そんな時、rbind()ではエラー 列名が違う場合に縦結合可能とする方法(2)~項目順が異なる場合~ ユーザー関数 rbindCNames() で解決する 先人諸賢の知恵 列名が違う場合には縦結合は困…

rbind()拡張2~rbind(),cbind()を統合したというabind()関数

R

サンプル 列名が違う場合に縦結合可能とする方法(2)~項目順は同じ~ abind() 動作確認 rbindCOrder abind(,along=1) abind(,along=2) abind(,along=3) abind(,along=1,use.first.dimnames=TRUE) 結論 サンプル テスト用サンプルを作成するRコードはマイブロ…

列名の違いに関係なく列順で縦結合するユーザー関数(rbind拡張1)~三つ以上のデータフレーム対応

R

列名が違う場合には縦結合は困難 項目順は同じでも項目名が違うことがある そんな時、rbind()ではエラー 列名が違う場合に縦結合可能とする方法(1)~項目順は同じ~ ユーザー関数rbindCOrder()で解決する 列名が違う場合には縦結合は困難 各所に散在するデー…

R言語でRight関数を

R

Right()関数 動作確認 もとになった関数 substr() Right()関数 多くの言語にはRight()関数がありますが、R言語には標準では文字列の右側x文字を切り出すという関数が見当たりません。業務上それなりにニーズがあるので作成しました。 ご自由にお使いください…

七五三木一さんはなんと読む?文字列を任意の区切り文字(文字列)で分割する

R

七五三木一(nagomiki.hajime@xxx)さん strsplit() 関数 いろいろと分割してみる 七五三木一(nagomiki.hajime@xxx)さん 七五三木一さんという人がいるとします。社員マスタに読み仮名がないのですが、メールアカウントの項目があり、 姓.名(.同姓同名の場合連…

EZRでreadxl()を知りました

R

EZR(EasyR)を使ってみる EZRはマウス操作で自動コーディング Excelファイル呼び出しも簡単 Markdownも自動生成します EZR(EasyR)を使ってみる 長年使っていたSPSSですが、高額のためアップデートできずにいました。そうこうしているうちにWindowsXPのサポー…

Rのインストール(2)

R

R Studio NotePad++ NppToR TinnR Rコマンダー EZR RではR Consoleという画面にコードを書くことで処理がなされます。 これはMS-DOSのコマンドラインみたいなもので、いわゆる「一行プログラム」のような環境ですので、大規模コードの実行には向いていません…

Rのインストール(1)

R

データ処理はExcelではなくRで行うことも考えましょう なぜ統計処理言語? インストール インストールは簡単です 画面設定をしましょう データ処理はExcelではなくRで行うことも考えましょう 多くの企業ではExcelでデータを貯め込み、一所懸命に「vlookup」だ…

マイブログ内テスト用Rサンプルを作成するコード

R

テスト用 社員台帳 社員マスタ 社員マスタ2 テスト用 社員台帳 社員マスタ 社員マスタ2 テスト用 社員台帳 社員マスタ 社員マスタ2 を作成する R コード 社員台帳=data.frame(社員番号=c(1,2),部署=c("営業部","営業部"),氏名=c("山田太郎","鈴木花子")) 社…