×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
aovとかlmとかの出力は半角スペースがいっぱい入って後から使いづらい。
タブ区切りにしたいと思っていたが、xtableというライブラリでできるようだ。
xtableのヘルプの例を貼り付けておく。
sink関数で作業ディレクトリの"RLOG.html"に出力する。
xtable は出力の中のtable部分だけ適用可能。例えば、summary(glm(...))の最後にあるdevianceやAICは出力されない。
library(xtable)
sink(file = "RLOG.html", split = TRUE, append=TRUE)
data(tli)
## aovで使用
cat("\n=======aov======\n\n")
res.aov <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data=tli)
## 普通の出力
cat("===\n普通の出力\n\n")
print(res.aov)
summary(res.aov)
## htmlで出力
cat("===\nhtmlで出力\n\n")
print(xtable(res.aov), type = "html")
print(xtable(summary(res.aov)), type = "html")
## glmで使用
cat("\n\n=======glm======\n\n")
res.glm <- glm(disadvg ~ ethnicty*grade, data=tli, family=binomial())
## 普通の出力
cat("===\n普通の出力\n\n")
print(res.glm)
summary(res.glm)
## htmlで出力
cat("===\nhtmlで出力\n\n")
print(xtable(res.glm), type = "html")
print(xtable(summary(res.glm)), type = "html")
sink()
タブ区切りにしたいと思っていたが、xtableというライブラリでできるようだ。
xtableのヘルプの例を貼り付けておく。
sink関数で作業ディレクトリの"RLOG.html"に出力する。
xtable は出力の中のtable部分だけ適用可能。例えば、summary(glm(...))の最後にあるdevianceやAICは出力されない。
library(xtable)
sink(file = "RLOG.html", split = TRUE, append=TRUE)
data(tli)
## aovで使用
cat("\n=======aov======\n\n")
res.aov <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data=tli)
## 普通の出力
cat("===\n普通の出力\n\n")
print(res.aov)
summary(res.aov)
## htmlで出力
cat("===\nhtmlで出力\n\n")
print(xtable(res.aov), type = "html")
print(xtable(summary(res.aov)), type = "html")
## glmで使用
cat("\n\n=======glm======\n\n")
res.glm <- glm(disadvg ~ ethnicty*grade, data=tli, family=binomial())
## 普通の出力
cat("===\n普通の出力\n\n")
print(res.glm)
summary(res.glm)
## htmlで出力
cat("===\nhtmlで出力\n\n")
print(xtable(res.glm), type = "html")
print(xtable(summary(res.glm)), type = "html")
sink()
PR
結果の一部を取り出す
# summaryの中のcoefficientsの中から標準誤差を取り出す
result.se <- summary(result)$coefficients[, "Std. Error"]
# str()でデータ構造を知ることができる。
# summaryの中のcoefficientsの中から標準誤差を取り出す
result.se <- summary(result)$coefficients[, "Std. Error"]
# str()でデータ構造を知ることができる。
オブジェクトにコメントをつける。データフレームや解析結果につけるようにしよう
df <- iris
comment(df) <- c("iris dataframe", "日本語はどうだろう")
comment(df)
[1] "iris data frame" "日本語はどうだろう"
# 日本語もいけるようだ。ちなみにdfだけだと何もでない
作業スペースの保存
save.image("working.RData")
# コンソールの保存はファイルの保存を選択しないとできないみたい
出力をファイルに記録する
sink("log.txt", append=TRUE, split=TRUE)
# 出力を作業ディレクトリのlog.txtというテキストファイルに保存する
# append=TRUEは追加モード (上書きしない) 。split=TRUEはコンソールにも出力する。
データフレームをテキストで保存する
write.table(df, file="iris.txt", sep="\t", row.names=FALSE, quote=FALSE)
# sep="\t"はタブ区切り、row.names=FALSEは行番号を削除、quote=FALSEはダブルクォーテーション削除
テキストファイルからデータフレームを読み込む
df <- read.table("Data/iris.txt", header=T)
??
# sink関数でtype = c("output", "message")という引数も指定できるが何かわからない。
# 公式だとtypeは以下のようなことらしい。stdoutとstderrって何だ?UNIXの何か?
Normal R output (to connection stdout)) is diverted by the default type = "output". Only prompts and (most) messages continue to appear on the console. Messages sent to stderr() (including those from message, warning and stop) can be diverted by sink(type = "message")
df <- iris
comment(df) <- c("iris dataframe", "日本語はどうだろう")
comment(df)
[1] "iris data frame" "日本語はどうだろう"
# 日本語もいけるようだ。ちなみにdfだけだと何もでない
作業スペースの保存
save.image("working.RData")
# コンソールの保存はファイルの保存を選択しないとできないみたい
出力をファイルに記録する
sink("log.txt", append=TRUE, split=TRUE)
# 出力を作業ディレクトリのlog.txtというテキストファイルに保存する
# append=TRUEは追加モード (上書きしない) 。split=TRUEはコンソールにも出力する。
データフレームをテキストで保存する
write.table(df, file="iris.txt", sep="\t", row.names=FALSE, quote=FALSE)
# sep="\t"はタブ区切り、row.names=FALSEは行番号を削除、quote=FALSEはダブルクォーテーション削除
テキストファイルからデータフレームを読み込む
df <- read.table("Data/iris.txt", header=T)
??
# sink関数でtype = c("output", "message")という引数も指定できるが何かわからない。
# 公式だとtypeは以下のようなことらしい。stdoutとstderrって何だ?UNIXの何か?
Normal R output (to connection stdout)) is diverted by the default type = "output". Only prompts and (most) messages continue to appear on the console. Messages sent to stderr() (including those from message, warning and stop) can be diverted by sink(type = "message")
データフレームの1列を取り出してデータフレームにする
y <- iris[1]
y <- iris[2:4]
## y <- iris[,1]だとベクトルになる
## y <- iris[,2:4]はデータフレームになる
データフレームの一部を取り出してデータフレームにする
yy <- cbind(iris[1], iris[4:5], iris[1:2])
## カンマをつけても同じ yy <- cbind(iris[,1], iris[,4:5], iris[,1:2])
データフレームの1列を取り出してデータフレームにする
onedf <- data.frame("one"=c(df$xxxx))
# 名前をつけないと変数名が"df$xxx"になる
データフレームや行列を結合する
ndf <- cbind(onedf, onedf2)
# 変数名は元のデータフレームについている名前になる
ndf <- cbind(onedf$one, onedf2$one2)
# こうすると変数名がなくなってV1...とかが勝手につく
欠損値を除いたデータフレームをつくる
ndf <- na.omit(df)
ndf[,2] <- factor(ndf[,2])
## 0がカウントされている変数にfactor関数を使うと消える
y <- iris[1]
y <- iris[2:4]
## y <- iris[,1]だとベクトルになる
## y <- iris[,2:4]はデータフレームになる
データフレームの一部を取り出してデータフレームにする
yy <- cbind(iris[1], iris[4:5], iris[1:2])
## カンマをつけても同じ yy <- cbind(iris[,1], iris[,4:5], iris[,1:2])
データフレームの1列を取り出してデータフレームにする
onedf <- data.frame("one"=c(df$xxxx))
# 名前をつけないと変数名が"df$xxx"になる
データフレームや行列を結合する
ndf <- cbind(onedf, onedf2)
# 変数名は元のデータフレームについている名前になる
ndf <- cbind(onedf$one, onedf2$one2)
# こうすると変数名がなくなってV1...とかが勝手につく
欠損値を除いたデータフレームをつくる
ndf <- na.omit(df)
ndf[,2] <- factor(ndf[,2])
## 0がカウントされている変数にfactor関数を使うと消える
データフレームを範囲指定して因子変数にする
Rjpwikiより
または
for (i in 4:24) {
datf[,i] <- factor(dat[,i]) # カンマの有無に注意
}
Rjpwikiより
datf[4:24] <- lapply(dat[4:24], factor)lapply(dat[4:24], factor)これはなんかうまくいかない
または
for (i in 4:24) {
datf[,i] <- factor(dat[,i]) # カンマの有無に注意
}