2013-06-24 7 views
5

ノルウェー語で書かれたアンケートデータを含むCSVファイルを読もうとしています。このファイルにはÆØÅの文字が含まれていますが、Rはこれらの文字をうまく扱えないようですが、すべてが疑問符として表示されます。R(Rstudio)にÆØÅのような特殊文字を読み取る

私は、データを読み取るために、これを使用します。

data <- read.csv2("Responser - Vasket - 20.06.2013.csv") 

は、私は、Rが、私は特殊文字を持って知っているように使用する必要がある任意のオプションがありますか?

と私はWindows 7の

+2

'' encoding = "UTF-16" ' – user1609452

+0

またはenocding =' ISO-8859-1'を実行してください。 [this](http://en.wikipedia.org/wiki/ISO/IEC_8859-1)によれば、完全なカバレッジの言語を参照してください。 – agstudy

+1

これらのどれもそれを解決しませんでした。私はまだ疑問符を得る。それ以上のヒント? –

答えて

2

にRstudioを使用していますあなたはread.csv2ないと同様に(?)encoding)にfileEncoding引数を指定する必要があります。


Rに入る前に、ファイルのエンコーディングがテキストエディタを使用していることを確認することをお勧めします。たとえば、Notepad ++でファイルを開くと、エンコードメニューで文字エンコードを表示および変更できます。 TextPadでは、[名前を付けて保存]ダイアログボックスからエンコードを変更できます。ほとんどのテキストエディタにはこのような機能があります。

これは、fileEncodingに渡す必要がある値です。ファイルがまだUTF-16でないと宣言することはできません。だからこそあなたは警告を受けました。

+0

fileEncoding = "UTF-16"は私に警告を与え、インポートを取り消します。 ISO-8859-1は質問のマークについて何もしません: -/ –

+0

hi @OleHenrikSkogstrømこの問題をどうやって解決できましたか?私はノルウェー語とスウェーデン語の両方のアルファベットでデータをインポートする必要があります – dsauce

1

私のRのバージョンと設定を考えてみましょう:
メモ帳で、csvファイルが「エンコード:ANSI」で保存されていることを確認します。 RStudioで
:ツール/オプション/デフォルトのテキストエンコード:7時57分で、8月7日@OleヘンリクSkogstrømから

dd <- data.frame(area = c("øø", "åå", "ææ"), site = c("åå", "ææ", "øø")) 
write.csv2(x = dd, file = "åæø.csv", row.names = FALSE) 
dd2 <- read.csv2(file = "åæø.csv") 
all.equal(dd, dd2) 

sessionInfo() 
R version 3.0.1 (2013-05-16) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 

locale: 
[1] LC_COLLATE=Norwegian (Bokmål)_Norway.1252 LC_CTYPE=Norwegian (Bokmål)_Norway.1252 
[3] LC_MONETARY=Norwegian (Bokmål)_Norway.1252 LC_NUMERIC=C        
[5] LC_TIME=Norwegian (Bokmål)_Norway.1252 


getOption("encoding") 
[1] "native.enc" 

編集次のコメント:ISO8859-1

は、私はこのようなダミーデータで試してみました

コメント「私はRstudioのビューコマンドを使用してもこのエラーは解決しない」と「これを入力してコンソールに結果を入力すれば」@Ole HenrikSkogstrømは、元の投稿で与えられた情報は十分ではありませんでした。

元の質問のための作品上記の私の答えは、実際にを尋ねた:OPに指定されていないを動作しません何R.に特殊文字を読み取り、その、Viewが-ing」ということです RStudioのオブジェクトは正しく表示されません。コンソールからView(dd)dd、上のダミーデータを参照)を実行すると、「ワークスペースペイン」でオブジェクトをクリックすると、データビューアーに「黒い菱形の疑問符」として表示されます。

一方、RStudioを使用せずにRGuiのみを使用すると、View(dd)はデータビューアに文字を正しく表示します。

このように、Rへの読み込みの問題ではなく、これはViewのRStudioでの問題です。 this post on RStudio supportも参照してください。

+0

こんにちは。私はこの問題についてしばらく忘れていました。この回答は本当によく書かれていますが、私にとってはうまくいきません。私はあなたと同じロケール出力を得ますが、データセットddとdd2は依然として疑問符として表示されます。 :-/ 助言がありますか? –

+0

Hmm ...そして 'getOption(" encoding ")'は "native.enc"を与えますか? try.table(text = '"æ"、 "ø"、 "å"'、sep = "、"、encoding = "native.enc") '? – Henrik

+0

データフレームを作成してRstudioでviewコマンドを使用すると、このエラーは依然として続きます。しかし、私はちょうどそれを入力し、コンソールに結果を置く場合、それは動作します...任意のアイデアなぜですか? :) –

0

Hei Henrik、ØÅÅを含むcsvファイル(Excel製)で、ノルウェーの文字を真中に白い疑問符が付いた黒い菱形で表示すると、同じ問題が発生しました。私の問題は間違いなくエンコーディングに基づいていましたが、適切に開くために "エンコーディング"や "fileEncoding"をうまく使用できませんでした。

メモ帳でcsvを開いてテキストファイルに変換し、エンコードを "ANSI"から "UTF-8"に変更することで、私のシステムで問題を解決しました。この例を参照してください。

下記のリンクは、Excel、MSDOSのエンコード(名CSV MSDOS) "カンマ区切り" でエンコードされた他の(名前CSV)形式でエンコードされた1で作成した2つのCSVファイルが含まれてい

https://drive.google.com/folderview?id=0BzoGQiFdDwiNNm02UnNLVVNja3c&usp=sharing

メモ帳で両方を開くと、 "カンマ区切り"のバージョンが正しい表現をしている間、MS-DOSバージョンには文字の誤った表現があることが示されます(したがって無視することができます)。 「名前CSV」ファイルを、エンコーディング「UTF-8」および「名前CSV UTF8」というテキストファイルとして保存します。 Rの作業ディレクトリをファイルが置かれているフォルダに設定し、次のコードを実行します。

test1 <- read.csv2("Names CSV.csv") 
test2 <- read.csv2("Names CSV UTF8.txt") 

test1は、疑問符で黒い菱形を表示する必要があります。test2は、名前を正しく表示する必要があります。

テーブルがRで文字エンコーディングを設定してRで作成されていたため、以前のAnswersが機能しない可能性があります。問題のある場所では、システムの別のソフトウェアがエンコードを設定します。

このソリューションは、作業するファイルがたくさんある場合はあまり役に立ちませんが、少なくとも開始点です。

関連する問題