度数の集計、検定

1)クロス表の作り方

table(x,y)
xtab(~x+y)
CreateTableOne(vars, strata, factorVars, data)
# 度数の入った二つの列名を指定する
table(d$x, d$y)

# 「d$」を何度も書くのはしんどいので、attach(d)で参照するデータフレームを固定し、省略
attach(d)
table(x, y)


#割合を出すときはprop.table(table())
prop.table(table(x,y), margin =1 ) # 横で100%
prop.table(table(x,y), margin =2 ) # 縦で100%


# xtab(~x+y)でもクロス表が作れる
xtab(~x+y)


# tableone::CreateTableOne()で度数と割合が入ったクロス表ができる
​CreateTableOne(vars="x",
              strat="y",
              factorVars =c("x","y"),
              data=d)

2)χ2検定、残差分析のやり方

chisq.test(x,y)
CreateTableOne(vars,strata,factorVars,data)
# chisq.test(x,y)
attach(df)
chisq.test(x, y) #2つの変数を並べる
chisq.test(tab) #クロス表を見込むことでも実行できる
result <- chisq.test(tab) #残差分析する場合は、検定結果を格納する

result$stdres # 残差を出す

pnorm(abs(result$stdres), lower.tail = FALSE)*2  #残差分析のp値を出す

pairwise.prop.test(table(x, y), p.adjust.method="bonferroni") #残差分析のp値を出す


# CreateTableOne()
result <- CreateTableOne(var="x",
                      strata="y",
                      factorVars="x",
                      data=d)
print(result)

3)直接確率計算のやり方

fisher(x, y)
CreateTableOne(vars, strata, factorVars, data)
# fisher(x,y)
fisher(x, y)


# CreateTableOne
result <- CreateTableOne(Var="x",
                        strata="y",
                        factorVars="x",
                        data=d)
print(result, exact)  #結果を格納して、exactを引数に指定してprint()

いいなと思ったら応援しよう!