R言語
R言語とは?意味を分かりやすく解説 - IT用語辞典 e-Words
https://gyazo.com/3748d4e7169168a450e303e2763a9881
統計解析に使うプログラミング言語
windowsインストーラー:The Comprehensive R Archive Network
introduction An Introduction to R
R言語のcosense project
/mandaRa
RGuiとRStudioがある。Rstudioを別途入れると使いやすくなる。
RStudio desktop shortcut opens RGui instead of IDE - RStudio IDE - Posit Community
complete.cases(X)
欠損値を含む行をFALSE、含まない行をTRUEとする2値のベクトルを返す
X <- X[complete.cases(X), ]
欠損値の含まれる行をXから削除する
complete.cases(X)で欠損値の無い行のみを指定、列は指定しない(全列)という意味
RStudio
R用のIDE
scriptのファイルを別途作成してそこで書いたほうが編集しやすい、作業ログにもなる
こういう使い方って通常のターミナルでもできないのかな。できるよね。調べよう
ctrl + Rでカーソルのある行を一行ずつ実行できる間違い。ctrl + Enter
拡張子の種類が3つくらいある
.RData
.Rhistory
上2つの違いは?
.R
scriptの拡張子
from 2025-12-21
R言語
Rstudioを英語にする
Sys.setenv(LANGUAGE = "en")
as.Date
as.numeric
list.files(path=".")
lsと同じようなことができるが、他の方法もあったはず
X <- read.csv("penguins_size.csv")
行列の基本情報の確認
summary(X)
性別を0/1に変換したい
X$sex <- as.integer(X$sex == "FEMALE")
transformation - Genre/Sex to numeric in R - Stack Overflow
as.numericでもいいな
if
for
ifelse
ファイル作成
file.create("src.R")
working directory設定
setwd()
working directoryのパスを見る
getwd()
パッケージのインストール
install.packages("package_name")
How to Convert XML to CSV in R? - GeeksforGeeks
from 2026-02-04
散布図
plot(X$culmen_length_mm,X$body_mass_g)
水平線
abline(h=mean(X$xxx,na.rm=TRUE))
NAを無視して平均を計算
単回帰
y = a + b * xという一次式を立ててターゲットyを予測する
aとbを回帰係数と呼ぶ
Rでの実装方法は?
lm(y~x)で一発
Interceptが切片、その右に傾きがかいてある
最小2乗法を使っている
summary(lm())
Pr(>|t|)は「b= 0」を帰無仮説とした仮説検定のP値
重回帰
lm(y~x_1+x_2+x_3)
行列演算
共分散
2ペアのn個のデータ
x_1, x_2, ...... , x_n、平均$ \bar{x}、標準偏差$ s_x
y_1, y_2, ......, y_n 、平均$ \bar{y}、標準偏差$ s_y
があるとき、$ s_{xy} = \frac{1}{n}\sum^{n}_{i=1}(x_i-\bar{x})(y_i-\bar{y})
偏差の積を平均する
データの単位に依存する値である
ピアソン積率
相関係数
cor()
データの単位を調整
例えばx_1 = 10で\bar{x} = 5のとき偏差は5
10倍の値のとき100 - 50で50(10倍になる)
これがそのまま共分散に反映されてしまうので標準偏差で割る
cor(X$culmen_length_mm,X$body_mass_g)
NAがあるとき
cor(X$culmen_length_mm,X$body_mass_g, use="pair")
決定係数
ダミー変数
e.g. ある日付以前かどうかをダミー変数化する
日付型にするX[,1] <- as.Date(X[,1])(1列目が日付の場合)
X$beforeyyyyMMdd <- as.numeric(X$日付<as.Date("yyyy-MM-dd"))
as.numericで0/1に変換されるのでそれを新しい列に代入する
行列の積
行列を作るMatrix(c(1,3,2,-2),2,2)
2*2の行列になる
A%*%Bで計算できる
平均
mean()
標準偏差
sd()
教師なし学習
主成分分析
因子分析
クラスター分析(クラスタリング)
決定木
ロジスティック回帰
code:R
X1 <- X,c(3, 4, 5, 6, 7) #とか
ld.glm <- glm(column_k~.,data=X1, family="binomial")
ld.glm
summary(ld.glm)
結果の解釈
ld.glmで切片と各係数を見ることができる
係数は最尤法を使って計算されている
とは?
summaryでp=0.5との有意差があるかどうかを出してくれる
テーブルの行の数と列の数を取得する
dim(X)
仮説検定
RPubs - χ2分布に関する関数の確認
1-pchisq(適合度,自由度)
ベクトルの要素数
length(x)