はじめに
R初学者兼通常業務に組み込められてない筆者が
久しぶりに触るたびに検索していることをまとめた。
- 回帰分析の書き方
- プロットのきれいな書き方
- データフレームって?
といったことは記載がないよ!
なので、日常的に触ってる方々には
「んなこと、知ってるよ!!」っていうことばかりで書いてあるのでご容赦を。
また、Rの基本的お作法を抑えたいって方もここには求めていることが無いかもしれない。
なお、筆者はmac・Windows両環境使いだが、mac準拠で記載している。
(随時更新)
ディレクトリ操作
getwd() # 現在の向いている作業ディレクトリの確認
setwd("~/hogehoge") # 現在向いている作業ディレクトリの変更
list.files() # 作業ディレクトリになんのファイルがあるか/Linuxコマンドのlsにちかい
list.files() 引数の種類
引数 | 内容 |
---|---|
recursive = True/False | サブディレクトリを含めてファイルパスを表示 |
pattern = "csv" | 指定文字列が含まれるファイル名を表示/この場合だとファイル名に「csv」を含むもの |
nrows = n | N行目までを読み込むかの指定 |
include.dirs = True/False | ディレクトリを含む |
CSV読み込み
基本的にCSV(Comma Separated Value)信者なので、
これ以外に遭遇したら変換したくなるぐらい。
でも、遭遇する生データはタブ区切りもあるわけで……
細かい対処法は一旦抜き
※例えばカラム名が日本語だった場合文字化けしないようにするなど
# 下記は基本型。引数で読み込む形式を指定
data = read.table("hogehoge.csv",sep=",",header = TRUE)
# 区切りがコンマだったらこれでOK/ヘッダーを含む
data = read.csv("hogehoge.csv")
# 区切りがタブだったら……/ヘッダーを含む
data = read.delim("hogehoge.csv")
引数の種類
引数 | 内容 |
---|---|
sep = "" | 区切り文字の指定 |
skip = n | データの頭のからN行目までをスキップ |
nrows = n | N行目までを読み込むかの指定 |
header = Ture/False | 1行目に列名か書かれているか否か |
※細かい事例は抜き |
データフレーム内の特定カラムを指定する
# データフレーム内の特定カラムを指定
data$column
またデータフレームをいちいち指定するのも面倒。
なので、検索リストにデータフレームを登録することで、
カラム名のみの記載で済む。
# 対象データフレームの指定
attach(data)
# データフレームの指定解除
detach()
# どんなデータフレームなどが今登録されているのか確認
search()
※データフレームを追加し続けることは可能だが、
増えるとその分処理が遅くなるのでこまめにdetach()を実行すること。
プロット描画
相関性があるかどうかをみるのに早いのは散布図や折れ線グラフを書くこと。
Rは恐ろしいぐらい高性能にすばやく描画できる関数、それがplot()。
ただし、高機能且つ多機能なので触りだけ。(というか理解していない)
# 対象のデータフレームをすべてデフォルト設定の点プロットで描画してくれる
plot(date)
# 対象データフレームの特定カラム同士だけを描画したい
plot(data$column1,data$column2)
# 描画形式を制御したい
plot(data$column1, data$column2, type = "l")
形式指定
type = "○"と言った形で制御する。
引数 | 内容 |
---|---|
p | 点プロット |
l | 線プロット/折れ線グラフ |
b | 点と線のプロット |
c | 上記の点を描画しない |
h | 点と線を重ね書く |
日本語が文字化けする場合
フォントの指定をすると回避可能。
使用PCにインストールされているフォントを指定するということになるので、
PCにインストールされているフォントならOKらしい。
# グラフのパラメーター指定
par(family = "Osaka") # macOSではこれを推奨(と聞いた)
par(family = "HiraKakuProN-W3") # Windowsではこれを
タイトルやラベルの制御
引数で制御可能
なお、記載がない場合、「data$column1」のままプロットに表示される
引数 | 内容 |
---|---|
main = "メイン" | メインタイトル |
sub = "サブ" | サブタイトル |
xlab="X軸ラベル" | X軸ラベルの記載 / "" とすると非表示 |
ylab="Y軸ラベル" | Y軸ラベルの記載 / "" とすると非表示 |
クロス集計
# 基本型。データフレーム内のすべてのカラムをクロス集計する
table(data)
# 指定カラムのクロス集計
table(data$column1, data$column1)
参考サイト
統計解析フリーソフト R の備忘録頁
http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html
総称ファミリ名分類のフォント名一覧
https://w3g.jp/sample/css/font-family