0

行ごとに 1 つのトークンを持つ UTF-8 でエンコードされたテキスト ファイルがあります。ベクトルに読み込んでみたいと思います。これは、MSWindows バージョン 3.0.1 上にあります。デフォルトのエンコーディングが UTF-8 であることは理解していますよね?

のようなコードスニペットを探しています

http://www.mayin.org/ajayshah/KB/R/html/r4.html

「R by example」より

http://www.mayin.org/ajayshah/KB/R/index.html

ただし、UTF-8 の例はなく、ASCII のみです。

4

1 に答える 1

1

read.table() で読み込んでから列をベクトルとして抽出するか、scan() で抽出できます。

 vect <- scan(file="path/to/file1.txt", what=character(0) )

UTF-8 がデフォルトであることはわかっているため、エンコードとして UTF-8 を使用する必要はありませんが、そうするオプションがあります。

vect <- scan(file="path/to/file1.txt", what=character(0), encoding="UTF-8" )

R 3.0.0 の NEWS ファイルには次のように書かれています。

" o readLines() および scan() (したがって read.table()) は UTF-8 ロケールで UTF-8 バイト オーダー マーク (BOM) を破棄するようになりました。このような BOM は許可されていますが、Unicode 標準では推奨されていません。 : ただし、Microsoft アプリケーションはそれらを生成できるため、Web サイトで見つかることがあります。

接続のエンコーディング名「UTF-8-BOM」により、UTF-8 BOM が確実に破棄されます。"

それでは、encoding 引数が必要なのは、UTF-8 以外のロケールにいて教えてくれなかったこと、または古いバージョンの R を使用していたことを示しているのではないでしょうか?

于 2013-08-02T15:28:19.517 に答える