24748


回帰結果`result`を`result8`という名前で保存しあとから呼び出したいのですが  
うまくいきません。

[code]

    save(result, file="result8.dat")・・・result8で保存
    load("result8.dat")・・・呼び出し
    summary(result8)・・・回帰結果を表示
    
[/code]

以下にエラー `summary(result8) : オブジェクト 'result8' がありません`  
と言われてしまいます。

同じファイル名ならうまくいきます。

[code]

    save(result, file="result.dat")　・・・保存し
    rm(result)　・・・削除
    summary(result)　・・・削除を確認
    load("result.dat")　・・・呼び出し
    summary(result)・・・回帰結果を表示
    
[/code]

どのような問題があるのでしょうか。


CC BY-SA 3.0
2016-05-11T05:34:16.730
24741
2016-05-11T06:49:00.777
2016-05-11T06:01:19.640
12457
15333
question
r
回帰結果に変数名をつけて保存し呼び出す

[code]

    save(result, file="result8.dat")
    
[/code]

ではなく

[code]

    save(result8, file="result8.dat")
    
[/code]

ではうまく行きませんか？

上のパターンですとresult8という変数が存在していないのでうまく行っていないんだと思います。  
datファイルじゃなくてcsvファイルだとhoge <\-
read.csv("hoge.csv")のように代入しますよね。そういう感じで何か変数を設定して読みこめばいいと思います。

RStudioというソフトを使うと右上にメモリ上の変数の状況が表示されて把握しやすくなりますよ。


CC BY-SA 3.0
2016-05-11T05:53:40.050
24744
2016-05-11T06:21:03.000
2016-05-11T06:21:03.000
12457
12457
24741
answer


`save`では変数名を含めて保存されます。  
ので、`save(result,
file="result8.dat")`とした時点で`result8.dat`には変数名`result`も保存されています。  
ので、`load("result8.dat")`で意図したデータが読み込まれているのは変数名`result`です。


CC BY-SA 3.0
2016-05-11T06:05:05.440
24746
2016-05-11T06:05:05.440
6092
24741
answer


セーブ・ロードの対象が 1 つのオブジェクトだけであれば `saveRDS()` と `readRDS()` を使う方法があります。

[code]

    > result <- stats::runif(10)
    > result
     [1] 0.68562100 0.84184211 0.69763579 0.62209902 0.04967879 0.71239629
     [7] 0.70019457 0.08939612 0.40912730 0.35949479
    > saveRDS(result, "result8.dat")
    
    ## Restart R
    
    > result8 <- readRDS("result8.dat")
    > result8
     [1] 0.68562100 0.84184211 0.69763579 0.62209902 0.04967879 0.71239629
     [7] 0.70019457 0.08939612 0.40912730 0.35949479
    
[/code]


CC BY-SA 3.0
2016-05-11T06:49:00.777
24748
2016-05-11T06:49:00.777
24741
answer