Why we use R?

R studioは
Rのための統合開発環境(IDE)
強力な入力補助機能
非常に見やすいインターフェース

医療従事者が無料ソフトであるRとR studioを使って学会発表,論文執筆の際に必要な統計解析を行う

基本操作

  1. 起動と終了, project作成
  2. scriptの入力と実行
  3. データ型とデータ構造
  4. データの読み込み

1. 起動と終了, project作成

RとR stduio(MaxはXquartz)をインストール
R studioを起動
Scripはctrl+shift+Nで作成
projectは1つの解析毎に1つのプロジェクト dataとscriptは同じフォルダで管理し複数の研究の解析を行う場合の混乱を防ぐ 保存はscriptのみを推奨.環境は残すとメモリを食う 起動時は.Rprojを開く

2. scriptの入力と実行

Write easy script!

演算子 説明
+   足し算
-   引き算
*  掛け算
/  割り算
^  べき乗
%/% 整数商 割り算の整数部分のみを返す
%% 商で割ったあまりがでる

%%は曜日を計算する場合に使う

5 + 2
## [1] 7
8 - 5
## [1] 3
4 * 2
## [1] 8
18 / 6
## [1] 3
1234 %/% 234
## [1] 5
167 %% 7
## [1] 6

実行方法
* Runをクリック
* ctrl(cmd)+eter

Insert to object

<-でオブジェクトに格納する

## easy calc2 insert to object
res1 <- 6^3
res1 #resに格納されている情報が出力される
## [1] 216

package and function

package: 特定の目的に必要な関数の集合 function: 特定の計算を行う(パッケージの呼び出し後に使用可能)

パッケージのインストール install.packages(“name”) パッケージの呼び出し library(name)

3. データ型とデータ構造

Type 表示 説明
実数 numeric, dbl 数値,計算可能
整数 integer 数値,計算可能
 理論値 logical TRUE=1,FALSE=0
文字列 character ""でくくられる
因子 factor Category variable(扱い注意)
日付 Date POSIXct(秒単位)
欠損値 NA, NU 欠測

data型を確認する必要がある.
dataの確認にはclass()を使う

## データ型の確認
# 実数
num <- c(1.2,3,5)
class(num)
## [1] "numeric"
num
## [1] 1.2 3.0 5.0
# 日付
today<-Sys.Date()
class(today)
## [1] "Date"
today
## [1] "2020-01-25"

numは数値
todayは日付

頻用するデータ構造

データ構造 説明
ベクトル 1つ以上のデータの集合,全て同じデータ型
行列 行,列の2次元からなるデータの集合,全て同じデータ型
データフレーム 行列同様2次元,列ごとにデータ型が異なっても良い
リスト あらyるデータ型,データ構造を格納

データ構造の例

ベクトル: [1,3,5,7,9] , [“male”, “female”, “male”, “female”, “male”]
dataframe: 臨床研究のデータセット
list: glmの結果のsummaryなど

4. データの読み込み

では配布データを読み込んでみよう

## データフレームの読み込み 配布データを読み込む
library(tidyverse)
data <- read.csv("example.csv")

dataframeからデータを取り出す  

# data[行, 列]
data[2,2]
## [1] male
## Levels: female male
data[1,]
##   id  sex disease
## 1  1 male      HT
data[c(1:3),c(2,3)] #1から3行目の2列目,3列目を出力
##    sex disease
## 1 male      HT
## 2 male      DM
## 3 male      HT
# data$変数名
data$disease
## [1] HT DM HT MI DM
## Levels: DM HT MI
data$id[5]
## [1] 5

Exercise

dataの読み込み

まずはデータを読み込み確認
tidyverseのread_csvを使う.
read_csvの方がfactorを扱ってくれる

library(tidyverse)
df<-read_csv("R_Seminar_data.csv") #tidyversのcsv読み込み.read_csvの方がfactorを扱ってくれる
summary(df) #データは確認しましょう

Leve l

( 4 + 2) / (9 - 6)を計算してans1に入れてdataを表示せよ

ans1 <- ( 4 + 2) / (9 - 6)
ans1
## [1] 2

Level 2

dfのNew_Treatment列を何らかのオブジェクトに代入
代入したオブジェクトの表示

Int1<-df$New_Treatment
Int1
##   [1] 0 1 1 0 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0
##  [38] 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0
##  [75] 1 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0
## [112] 1 0 1 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0
## [149] 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1
## [186] 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0
## [223] 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0
## [260] 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 0 0
## [297] 1 1 0 0 0 0 1 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0
## [334] 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 1 1
## [371] 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0
## [408] 1 0 1 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1
## [445] 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0
## [482] 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1