★データ解析備忘録★

ゆる〜い技術メモ

SAS

SASで緯度経度から地域メッシュコードを計算する

はじめに 検索してもでてこなかったので、緯度経度からその点が含まれる3次メッシュ(基準地域メッシュ)コードを算出する関数をSASで作成しました。(僕が知らないだけでもしかしたら既にあるのかもしれませんが。) 地域メッシュコードの概要については統計局…

SASによる逆ジオコーディング(緯度経度から都道府県・市を求める)

SASによるジオコーディングはアメリカやカナダのデータは標準装備されていて非常にやりやすいのですが、日本のデータでやろうとするとshapfileから用意しなければならず、非常にやりづらいです。一応、動くものが作れたので備忘録としてメモ。 shapefile シ…

Rのdplyr::renameとSASのDATA STEP のRENAMEステートメントでは変数の書く順番が違うので注意

R SAS

タイトル通りです。 SASとRと両方使う人でないと特に意識する場面はないと思いますが、どちらも記法が酷似しているので両方使う人は気をつけてないとミスります。 Rのdplyr::rename dplyr::rename(新しい変数名=古い変数名) です。

SASで緯度経度から国名を求める

とりあえず備忘録的にコードと出力だけ。 細かいプロシージャの仕様は後ほど追記します。 コードと出力

Emacs (ESS) で SAS のシンタックスハイライトを直す

はじめに 今回は小ネタです。 みなさんは SAS コードを何で書いてますか? Atom? Sublime Text? Vim? Emacs? 僕は Emacs で書いてますが、エディタの好みは人それぞれなので、好きな物を使えばいいと思います。 さて、Emacs で SAS を編集する際に便利なのが…

{haven}パッケージでストレスなくRとSASで分析する

R SAS

前置き 僕のメイン言語はSASとRなので、この二つを連携させたり行き来したりということがどうしても発生します。*1 そんなわけで、以前SASの中でRを動かす方法を書きました。 SAS/IML StudioでRを使う - データ解析備忘録 SAS/STATでもPROC IMLしてRを使う -…

【SAS】アルファベットや飛び飛びの値でもループしたい

SAS

SASの繰り返しのマクロである%doループでは%do i=1 %to 10のように、整数値でしかループさせることができません。 今回は、整数以外でもループさせたいときの対処法をまとめてみます。 飛び飛びの値 飛び飛びの値とは、%do i=1 , 2, 3, 5のように整数が連続…

SASのマクロ変数を文字列中で呼び出したいときの注意

SAS

備忘録。SASで文字列を入力したいとき、''(シングルクオーテーション)か""(ダブルクオーテーション)かはあまり気にせずに使って良いのですが、マクロ変数を使いたいときはちょっと変わってきます。例えば、以下のような適当なマクロを作って呼び出したいとき…

【SAS】PROC SQL では LIMIT 句が使えない

SAS

普通のSQLを書くとき、データが巨大だと一部をちら見するためにLIMIT 1000と書いて一部だけを抽出したりします。 SASのPROC SQLではSQLの構文がほぼそのまま使えて便利なのですが、LIMIT句はどうやら使えないようです。 代わりにOUTOBS=1000で指定すれば良い…

SASの(よく使う)ショートカットキー一覧

SAS

よく使いそうなSASのショートカットキーをまとめました。 製品版でしか試してないのでSAS雲丹でも同じかはわかりません。 他のソフトと同じもの キー 機能 Ctrl+C コピー Ctrl+X 切り取り Ctrl+V ペースト Ctrl+A 全選択 Ctrl+S 上書き保存 Ctrl+Shift+S 新…

sas7bdatファイルの作成と各種ソフトでの読み込み

sas7bdatとは何か sas7bdatというファイル形式があります。これは一言で言えばSASで作ったデータのファイル形式です。 このファイル形式はSASのいろいろなアウトプットを格納できて、例えば回帰分析後のパラメーター推定値や予測値、ベイズ推定のMCMCであれ…

SASでライブラリ内のデータセットを全て削除する

SAS

タイトルの通りSASでライブラリ内のデータセットを全て削除する方法です。 Rでいうと rm(list=ls()) にあたるものですが、SASだとライブラリという概念がある点で異なります。 特にライブラリ名を指定してない時はWORKライブラリが割り当てられています。 例…

【SAS】PROC SQLが強かった件

SAS

SASでデータ集計をやらなきゃいけなくなって、SAS初心者*1の僕がいろいろ調べた結果、SQLプロシージャがよさそう。使ってみた結果、とても便利だということが分かったので使い方を自分用にメモ。 SQL文がそのまま使える MySQLなり、SQLiteなり、HiveQLやPres…

IMLの行列とSASデータセットを行き来する

SAS

IMLで作った行列をSASデータセットとして使いたいとき。 SASデータセットをIMLに取り込んで行列にしたいとき。 IMLで作った行列をSASデータセットにする 必要なコマンドは create A var { 取り出したい変数名 }; /*Aは作りたいデータセット名*/ append; clos…

重回帰のパラメーター推定理論とSAS/IMLによる行列実装

統計学の「基本の「き」」である重回帰を復習しながらSAS/IMLで行列で実装していこうと思います。 理論 重回帰を式で表すと、 となります。 これを行列で表すと 要素を書き下すと となります。

SASの中でRからSASにデータを渡す

R SAS

前回の記事でSAS/STATでもRを使えることを書きました。 y-mattu.hatenablog.com今回はSAS上で動かしたRのデータをSASに渡す方法です。簡単です。 /*proc iml内でendsubmit;した後に*/ run ImportDataSetFromR("work.A","B"); /*Aは後でSASデータとして使いた…

SAS/STATでもPROC IMLしてRを使う

前回の記事でSAS/IML StudioでRを走らせる方法を書きました。 y-mattu.hatenablog.comで、その最後にSAS/STATでproc imlの中でRを使う方法を書いている方がいたのでそれを紹介しました。SAS上でRを走らせよう SAS/IML | うずまき(4th Gen) | Jun-Systemsその…

SAS/IML StudioでRを使う

SAS R

自然言語処理をやるとき、僕はSAS/Minerを使える環境にないのでなんとかならないかなあと思っていたのですが、 SAS/IML Studio *1 を使うとSAS上でRを動かせるそうです。 ということでやってみます。 support.sas.com 手始めということでMeCabで簡単な形態素…

Windows10にSAS University Edition を導入してみた -無料でSASを使う-

僕が通う大学ではそもそも無料で製品版SASをインストール&使用できるのですが、ノートパソコンにしか入れられません。ですが、家で作業するときは普通デスクトップでやるのでデスクトップにSASを入れたい!ってことでSAS University Editionを導入します。 …