度数の集計、検定
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()