層別

使用するパッケージ(パッケージのインストール

library(dplyr)
library(psych)

データセット soubetu をdatに格納します(ファイルの読み込み

head(dat)

以下のように層別したカテゴリー変数を追加

\(65 \leq age < 70= 65以上70未満\)
\(70 \leq age < 75 = 70以上75未満\)
\(75 \leq age \leq 80= 75以上\)

パケージを使用しない層別

dat$age_c <- 
    ifelse(
    dat$age < 70, "65以上70未満",
    ifelse(
    dat$age < 75, "70以上75未満", "75以上"
    )
)

head(dat)

次にパッケージdplyrを使用して、age_c2という変数(名義変数)を追加します

\(65 \leq age < 70= A\)
\(70 \leq age < 75 = B\)
\(75 \leq age \leq 80= C\)

dat <- dplyr::mutate(
    dat,
    age_c2 = 
    if_else(
    dat$age >= 65 & dat$age < 70, "A", 
    if_else(
    dat$age > 70 & dat$age <= 75, "B", "C"
    ))
)

head(dat)

次にパッケージpsychを使用して、age_cで層別したデータの要約

set <- psych::describeBy(dat$data, dat$age_c)
print(set)

サンプルサイズ、平均、不偏標準偏差のみの表示

set <- psych::describeBy(dat$data, dat$age_c)
lapply(
    set,
    "[",
    c("n", "mean", "sd")
) 

65以上70未満のdataと70以上75未満のdataをt検定

t.test(
    dat[dat$age_c=="65以上70未満", "data"], 
    dat[dat$age_c=="70以上75未満", "data"]
)

73歳以上78歳以下の平均値を求めたい場合

mean(dat[dat$age>=73 & dat$age<=78, "data"])

datから73歳以上78歳以下のデータセットdat2を改めて作成する場合(&を使用)

dat2 <- subset(dat, dat$age>=73 & dat$age<=78)
print(dat2)

コメント

タイトルとURLをコピーしました