web-dev-qa-db-ja.com

RのreadRDS(file)

Rにパッケージをインストールしようとすると、次のエラーが発生します。

Error in readRDS(file) : unknown input format

これは、システムクラッシュ後に発生し始めたばかりです。 Windows 7で32ビットR 2.13.0を実行しています。Rを削除して再インストールしようとしましたが、引き続きエラーが発生します。すべて(つまり、インストールしたすべてのパッケージ)を削除して最初からやり直すことなく、これを修正できる方法はありますか?

ありがとう

22
Zach

これらは私が遭遇した提案です:

  1. Rを実行しているディレクトリの_.Rhistory_および_.RData_ファイルを削除します。
  2. 実行update.packages()
  3. ライブラリディレクトリの「不良ファイル」を試し、検出してください。あなたはRでこれを行うことができます

    _# List the library paths
    # The issue is likely to be in the first directory
    paths = .libPaths()
    
    ## Try and detect bad files
    list.files(paths, 
           pattern = "^00LOCK*|*\\.rds$|*\\.RDS$",
           full.names = TRUE)
    
    ## List files of size 0
    l = list.files(paths, full.names = TRUE)
    l[sapply(l, file.size) == 0]
    _

    強調表示されているファイル/ディレクトリを削除します。本当にしたい場合は、file.remove()を使用できます。

  4. ダウンロードしたパッケージを保存したディレクトリを削除します。

ソリューション3だけが私のために働いた。

参照:

  • R-sig-Debianメーリングリスト
  • オプション3は、Chunxiao Xu、Larry Hunsicker、Frank Harrellなど、過去数年間にさまざまな人々から提供された回答を組み合わせたものです。
22
csgillespie

find /usr/local/lib/R/site-library/ /usr/lib/R/library/ /usr/lib/R/site-library/ ~/.local/lib/ -iname '*rds' -a -size 0を実行し、見つかったファイルを削除します。

5
Chunxiao Xu

試してみると簡単です。それが.rdaファイルの場合は、loadではなくreadRDSを使用してください。次に、ロードしたファイルを.rdsとして保存し、readRDSを再試行できます。

3
Scott Worland

上記のChunxiao XuとRando Hinnのソリューションは、マイナーなTweakでうまくいきました。

まず、ディレクトリを個人用のRパッケージディレクトリに変更し、次を実行します。find -iname '* rds' -a -size 0

上記のリストにある長さ0のファイルを含むディレクトリを削除します。次に、R(またはRStudio)を再度開き、削除したパッケージを再インストールします。

これで、パッケージを再度一覧表示できるようになります。

上記のChunxiao Xuの最初の提案は、すべてのRパッケージディレクトリをリストしています。ただし、これらのディレクトリの正確な場所はインストールごとに異なり、アドレスはインストールに合わせて編集する必要があります。

ラリー・ハンシッカー

3
Larry Hunsicker

このエラーを解決するために私がしなければならなかったことは次のとおりです。

  • Rstudioを開き、パッケージの下のインストールタブに移動します
  • ライブラリパスへのインストールを書き留めます(パッケージが保存される場所)。
  • インストールライブラリパスに移動し、最近のパッケージを完全に削除します
  • Rstudioでパッケージの詳細を更新する
3
Edwin Daniel

これは、いくつかのRパッケージをインストールしている最中にマシンを再起動しなければならなかった後に起こりました。適切なライブラリディレクトリ内のファイルを物理的に削除して、最新のインストール済みパッケージを削除し、再インストールしましたが、すべて順調でした。また、ライブラリディレクトリから00LOCKディレクトリを削除する必要がありました。

2
Frank Harrell

私はいくつかのフォーラムでこの問題を確認し、それを試してみましたが、うまくいきました:

1)最初にggplot2パッケージを削除します

remove.packages("ggplot2")

2)パッケージを再インストールします

install.packages("ggplot2")

3)rstudioを再起動してパッケージを再度インストールします。これが役立つことを願っています

問題は必要なパッケージ(私の場合はggplot2)にあるため、破損して新しい依存パッケージのインストールが妨げられていたようです。

0
Rahul

Rパッケージに問題があるかもしれません。パッケージをインストールした後、またはパッケージをコピーした後に問題が発生したかどうかを確認します。

あなたができることは、ライブラリからすべてのパッケージをコピーしてどこかに保存し、次にライブラリ上のいくつかのパッケージをコピーしてRテストを再起動し、それがどのように機能するかを確認することです。私は同じ問題を抱えていますが、それはパッケージの問題が原因でした。

0
Arzoo Singh

ここの上位のいくつかの回答とは異なり、私の問題は、RStudioのインストールで何かを実行したり、ローカルファイルをクリーニングしたりするのではなく、RDSファイルを書き直すことで解決されました。

ファイルがクラウドに保存されていて、さまざまなWindowsやMacラップトップからの読み取りに失敗したため、これを確認できましたが、同じS3バケットからの同様のRDSファイルは問題なく機能しました。

RDSファイルを書き直したところ、問題は解決しました。

0
stevec

「接続からの読み取りエラー」または「不明な入力形式」のいずれかで、.RDSファイルを開くときにもいくつかの問題がありました。バージョン3.4.2の複数のRバージョンを試しました。次のように機能しました:(誤ってrstudioをアンインストールして再インストールしました。古いRバージョン3.4.2もインストールしましたが、それが何か変更されるかどうかはわかりません)

  1. 新しい作業ディレクトリを設定する
  2. RDSファイルをダウンロードするのではなく直接開いたので(一時ファイルにのみ保存されました)、Rで開くことができました。
  3. これを一時ファイルから新しい作業ディレクトリに移動し、Data_Essay_Account <- readRDS("C:/.../newdirectory/Data_Essay_Account.RDS")コマンドを使用して動作しました。

どういうわけかそれを適切にダウンロードしてから移動することはできませんでした。一時ファイルにそれを入れた後になってからです。私が最初にそれを試みたので、パッケージを完全に削除することは私にとってはうまくいきませんでした。

0
Mery