# ←この記号の後は次の改行までコメントになります。
# ベクター編その1
# Rのベクター(vector)とは何か?
# ベクターとは値の集合です。臨床研究で馴染みのある言葉でいえば変数と呼んでも良い。
# 例えば、症例データセットの年齢を以下のようにして、
c(63,82,62,58,71,60,64,74,89,72)
## [1] 63 82 62 58 71 60 64 74 89 72
# 10個の値をまとめて計算することができます。
# c()はcombineのcです。一つだけの値だけではなく、複数の値を一度に扱えるようになります。
log(c(63,82,62,58,71,60,64,74,89,72)) # logを計算する
## [1] 4.143135 4.406719 4.127134 4.060443 4.262680 4.094345 4.158883
## [8] 4.304065 4.488636 4.276666
c(63,82,62,58,71,60,64,74,89,72)+1 # 全体に1ずつ加える
## [1] 64 83 63 59 72 61 65 75 90 73
c(63,82,62,58,71,60,64,74,89,72)>=65 # 65歳以上かどうかを判定する
## [1] FALSE TRUE FALSE FALSE TRUE FALSE FALSE TRUE TRUE TRUE
round(c(63,82,62,58,71,60,64,74,89,72),digits=-1) # 1の位を四捨五入する
## [1] 60 80 60 60 70 60 60 70 90 70
# 厳密には四捨五入ではなく、「IEEEのルールによる丸め」です。
# 詳しくはこちら http://cse.naro.affrc.go.jp/takezawa/r-tips/r/37.html
# c(...)と書くと長いので、変数名を決めて代入します。
Age<-c(63,82,62,58,71,60,64,74,89,72)
Age
## [1] 63 82 62 58 71 60 64 74 89 72
# 代入したベクターを用いて、上記と同じような演算ができます。
round(Age,digits=-1)
## [1] 60 80 60 60 70 60 60 70 90 70
# ベクターに要素を付け足します。
length(Age) # 長さ(サンプル数)
## [1] 10
Age<-c(Age,68)
length(Age) # 長さが1増えている
## [1] 11
# 全体の一部のみを選択する
Age[3] # 3番目の値を選択する
## [1] 62
Age[c(3,4,5)] # 3,4,5番目の値を選択する
## [1] 62 58 71
Age[Age>=65] # 65以上の値を選択する
## [1] 82 71 74 89 72 68
# 記述統計量を求めることもできます。
length(Age)
## [1] 11
table(Age>=65) # 65歳以上かどうかで分けたカウント数
##
## FALSE TRUE
## 5 6
mean(Age) # 平均
## [1] 69.36364
sd(Age) # 標準偏差
## [1] 9.584078
round(mean(Age),digits=1) # 平均の小数点以下1位で丸める。
## [1] 69.4
median(Age) # 中央値
## [1] 68
quantile(Age) # percentile (0%, 25%, 50%, 75%, 100%) を求める。
## 0% 25% 50% 75% 100%
## 58.0 62.5 68.0 73.0 89.0
quantile(Age, probs=c(0.025,0.975)) # percentileの値は自由に操作可能
## 2.5% 97.5%
## 58.50 87.25
summary(Age) # おなじみsummary
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 58.00 62.50 68.00 69.36 73.00 89.00
# 可視化してみる
plot(Age) # 散布図

hist(Age) # 分布

# Rのような統計ソフトを使う利点のひとつは、このような多数の数値を
# まとめて演算することができることです。