# ←この記号の後は次の改行までコメントになります。

# ベクター編その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のような統計ソフトを使う利点のひとつは、このような多数の数値を
# まとめて演算することができることです。