×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
こっちとあわせて使おう
# split関数でデータフレームを分割
sp <- split(iris, iris$Species)
# summaryで内容がわかる
summary(sp)
# データフレームを3つつくる
iris.set <- sp$setosa
iris.ve <- sp$versicolor
iris.vi <- sp$virginica
# psychパッケージのmulti.hist関数でそれぞれの群のヒストグラムを描く
win.graph()
multi.hist(iris.set)
# 自分の定義したfrq関数では frq(1:5, iris.set)
win.graph() #別のウィンドウに描く
multi.hist(iris.ve)
win.graph() #別のウィンドウに描く
multi.hist(iris.vi)
multi.hist関数の引数もメモしておこう
(あまり汎用性はない。こっちで作ってもいいかも…)
### subset関数で分割してもよし
# 群の名前を調べておく。ついでに群の数も調べておく
grpname <- levels(iris$Species)
length(levels(iris$Species))
#subset関数で群を分けたデータフレームをつくる
iris.se <- subset(iris, Species == grpname[1]).
# split関数でデータフレームを分割
sp <- split(iris, iris$Species)
# summaryで内容がわかる
summary(sp)
# データフレームを3つつくる
iris.set <- sp$setosa
iris.ve <- sp$versicolor
iris.vi <- sp$virginica
# psychパッケージのmulti.hist関数でそれぞれの群のヒストグラムを描く
win.graph()
multi.hist(iris.set)
# 自分の定義したfrq関数では frq(1:5, iris.set)
win.graph() #別のウィンドウに描く
multi.hist(iris.ve)
win.graph() #別のウィンドウに描く
multi.hist(iris.vi)
multi.hist関数の引数もメモしておこう
(あまり汎用性はない。こっちで作ってもいいかも…)
Usage
multi.hist(x,nrow=NULL, ncol=NULL,density=TRUE,main="Histogram, Density, and Normal Fit")
Arguments
x 行列かデータフレーム
nrow 作図デバイスの行数
ncol 作図デバイスの列数
density 正規分布曲線と分布
main グラフのタイトル
multi.hist(x,nrow=NULL, ncol=NULL,density=TRUE,main="Histogram, Density, and Normal Fit")
Arguments
x 行列かデータフレーム
nrow 作図デバイスの行数
ncol 作図デバイスの列数
density 正規分布曲線と分布
main グラフのタイトル
### subset関数で分割してもよし
# 群の名前を調べておく。ついでに群の数も調べておく
grpname <- levels(iris$Species)
length(levels(iris$Species))
#subset関数で群を分けたデータフレームをつくる
iris.se <- subset(iris, Species == grpname[1]).
# クロス集計表をしこたまつくる
for(i in 2:50){
cat("\n",colnames(dat[i])," x ", colnames(dat[1]),"\n") # 集計に使った変数名を出力
print(xtabs(~ dat[,i] + dat[,1], dat))
}
# 合計欄つきでしこたまつくる
for(i in 2:50){
cat("\n",colnames(dat[i])," x ", colnames(dat[1]),"\n")
print(addmargins(xtabs(~ dat[,i] + dat[,1], dat)))
}
# 列パーセントのクロス集計をしこたまつくる
for(i in 2:50){
cat("\n",colnames(dat[i])," x ", colnames(dat[1]),"\n")
xn <- addmargins(xtabs(~ dat[,i] + dat[,1], dat))
print(round(t(t(xn)/xn[nrow(xn),]*100),2))
}
# 行パーセントの以下略
for(i in 2:50){
cat("\n",colnames(dat[i])," x ", colnames(dat[1]),"\n")
xn <- addmargins(xtabs(~ dat[,i] + dat[,1], dat))
print(round((xn/xn[, ncol(xn)]*100),2))
}
# クロス集計、度数、パーセント、カイ二乗検定、Fisherの正確確率検定。
# cat関数で適当にセパレータ ("===")を入れる。改行は\n
## Fisherのはメモリが足りなくてできないことがある
for(i in 2:50){
cat("\n\n========================\n")
cat(colnames(dat[i])," x ", colnames(dat[1]),"\n")
x <- xtabs(~ dat[,i]+ dat[,1], dat)
cat("\n===\n")
print(ftable(addmargins(x)))
xn <- ftable(addmargins(x))
cat("\n===\n")
print(round(t(t(xn)/xn[nrow(xn),]*100),2))
cat("\n===\n")
print(round((xn/xn[, ncol(xn)]*100),2))
(crr <- chisq.test(x))
cat("\n\nCHISQ\n")
(cr <- my.chisq.test(x))
print(cr)
cat("\n===\n")
cat("EXPECTED\n")
print(crr$expected)
cat("\n===\n")
summary(cr)
cat("\n\nMYFISHER\n")
fx <- my.fisher(x)
cat("\nMYFISHER$Pearson")
print(fx$p.Pearson)
cat("\nMYFISHER$Fisher")
print(fx$p.Fisher)
cat("\n========================\n")
}
# 明朝。以下三つは全然違いがわからんが…
family = "Japan1"
family = "Japan1HeiMin"
family = "Japan1Ryumin"
# ゴシック
family = "Japan1GothicBBB"
# parやpdfなんかで使おう
par(family = "Japan1GothicBBB")
pdf("ファイル名.pdf", family = "Japan1GothicBBB")
family = "Japan1"
family = "Japan1HeiMin"
family = "Japan1Ryumin"
# ゴシック
family = "Japan1GothicBBB"
# parやpdfなんかで使おう
par(family = "Japan1GothicBBB")
pdf("ファイル名.pdf", family = "Japan1GothicBBB")
# pdfで保存したとき、日本語フォントが表示できるようにする
par(family = "Japan1GothicBBB")
pdf("ファイル名.pdf", family = "Japan1GothicBBB") #pdfファイルの指定と日本語フォント指定
## 描画関数
dev.off() #作図デバイスの終了
par(family = "Japan1GothicBBB")
pdf("ファイル名.pdf", family = "Japan1GothicBBB") #pdfファイルの指定と日本語フォント指定
## 描画関数
dev.off() #作図デバイスの終了