No.17492 Re: RからEXCELへの出力について 【青木繁伸】 2012/10/05(Fri) 12:58
それぞれの出力関数の引数の file で示されているものに connection を設定するのです。
sink ならば,file 引数ですね。
file: a writable connection or a character string naming the file to write to, or NULL to stop sink-ing.
? connection も見てください。
具体的には,con <- file("output.txt", open="w", encoding="cp932")のようにします。encoding に cp932 を指定するのがミソ。
sink(file=con)
print("日本語を含む出力")
head(iris)
sink()
close(con)
なお,このような場合,sink を使うのは最適でない場合もあります。
No.17493 Re: RからEXCELへの出力について 【りかちゃん】 2012/10/05(Fri) 16:53
青木先生
早速の解答ありがとうございました。
具体策が,とてもわかりやすくすぐに解決致しました。
もし,sinkを使用しない場合,ベストな方法とは何でしょうか?
追記で質問をして申し訳ありません。
No.17494 Re: RからEXCELへの出力について 【青木繁伸】 2012/10/05(Fri) 17:09
> sinkを使用しない場合,ベストな方法とは何でしょうか?
どのようなものを出力するかによります。
No.17495 Re: RからEXCELへの出力について 【りかちゃん】 2012/10/05(Fri) 17:34
>どのようなものを出力するかによります。
例えば,分散分析の表をEXCELに出力するような場合には,どのような方法がベストでしょうか?
アドバイスいただければ幸いです。よろしくお願いいたします。
No.17496 Re: RからEXCELへの出力について 【青木繁伸】 2012/10/05(Fri) 18:16
sink で出したら,excel で 「データ」--> 「区切り位置...」で切り分けているんでしょうか?
それでは,不便でしょう。
分散分析表などが,データフレームとして作られているなら,write.csv で出せばよいでしょう。データフレームなら何でも同じ。a <- lm(Sepal.Length~., iris[1:4])Excel で読むなら write.csv の方がよい。fileEncoding でエンコーディングを指定する。書き出されたファイルのアイコンをダブルクリックすれば Excel が開いてくれる(それだけで開いてくれないようなら,そのように設定するか,アイコンを Excel アイコンにドロップする。もちろん,普通にファイルを指定して読み込んでもよいけど)。
b <- anova(a)
colnames(b) <- c("自由度", "平方和", "平均平方", "F 値", "p 値")
write.csv(b, file="anova-table.csv", fileEncoding="cp932")
書き出されたファイルは以下のようになっている。"","自由度","平方和","平均平方","F 値","p 値"
"Sepal.Width",1,1.41223753583732,1.41223753583732,14.2735133742654,0.000229586690258393
"Petal.Length",1,84.4273316132672,84.4273316132672,853.308750373226,7.45584987829548e-63
"Petal.Width",1,1.88335927053769,1.88335927053769,19.0351502876802,2.41287568611798e-05
"Residuals",146,14.4454049136911,0.0989411295458294,NA,NA
No.17497 Re: RからEXCELへの出力について 【りかちゃん】 2012/10/05(Fri) 18:59
青木先生
基本的な質問に,丁寧に答えていただき,ありがとうございました。
これからも,統計の学習を頑張って進めて参ります。
今後ともよろしくお願いいたします。
● 「統計学関連なんでもあり」の過去ログ--- 045 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る