R studioは
Rのための統合開発環境(IDE)
強力な入力補助機能
非常に見やすいインターフェース
医療従事者が無料ソフトであるRとR studioを使って学会発表,論文執筆の際に必要な統計解析を行う
RとR stduio(MaxはXquartz)をインストール
R studioを起動
Scripはctrl+shift+Nで作成
projectは1つの解析毎に1つのプロジェクト dataとscriptは同じフォルダで管理し複数の研究の解析を行う場合の混乱を防ぐ 保存はscriptのみを推奨.環境は残すとメモリを食う 起動時は.Rprojを開く
演算子 | 説明 |
---|---|
+ | 足し算 |
- | 引き算 |
* | 掛け算 |
/ | 割り算 |
^ | べき乗 |
%/% | 整数商 割り算の整数部分のみを返す |
%% | 商で割ったあまりがでる |
%%は曜日を計算する場合に使う
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
<-でオブジェクトに格納する
## easy calc2 insert to object
res1 <- 6^3
res1 #resに格納されている情報が出力される
## [1] 216
package: 特定の目的に必要な関数の集合 function: 特定の計算を行う(パッケージの呼び出し後に使用可能)
パッケージのインストール install.packages(“name”) パッケージの呼び出し library(name)
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など
では配布データを読み込んでみよう
## データフレームの読み込み 配布データを読み込む
library(tidyverse)
data <- read.csv("example.csv")
# 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
まずはデータを読み込み確認
tidyverseのread_csvを使う.
read_csvの方がfactorを扱ってくれる
library(tidyverse)
df<-read_csv("R_Seminar_data.csv") #tidyversのcsv読み込み.read_csvの方がfactorを扱ってくれる
summary(df) #データは確認しましょう
( 4 + 2) / (9 - 6)を計算してans1に入れてdataを表示せよ
ans1 <- ( 4 + 2) / (9 - 6)
ans1
## [1] 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