1. ホーム
  2. r

[解決済み] R "エラー:"}"内の予期しない'}'。[重複]する

2022-01-29 04:37:27

質問

データが欠損しているケースについて、"(Null Value)"を持つ文字列変数があります。私は、"(Null Value)"を再コード化して、"(Null Value)"と言わずに、単に欠損にしたいのですが、どうすればよいですか?これらの(Null Value)エントリを取り除くためにループを書こうとしているのですが、"Error: unexpected '}' in "}" というエラーが出続けています。

for (row in data){
  if terminate_reason == "(Null Value)"
    recode(data$terminate_reason, "(Null Value)" = NA)
}

Rはそこに余分な中括弧があると思ってるのか? PS-私はRの初心者で何をやっているのか分からないので、これを解決した後に他のエラーが出ることを期待していますが、これを乗り越えることができません。

どのように解決するのですか?

あなたのコードには多くの問題があります。

  1. if ステートメントで囲む必要があります。 {} 記号を使用します。
  2. if を囲むことも必要です。 () 記号で論理式を囲みます。
  3. の結果は recode 関数はどこにも保存されません (この関数は値を変更しません)。
  4. ループはこの問題の解決策としては不十分です。

Rの自然なベクトル化を利用すれば、もっとシンプルになるはずです。むしろ if の中に for のループを使えば、一行で済みます。

data$terminate_reason[data$terminate_reason == '(Null Value)'] <- NA

しかし、"terminate_reason"カラムがファクターではなく、キャラクターであることを確認してください。