0
ダミー変数を作成したいと思います。使用される変数の1つが新たに作成され、ここで問題が発生します。Rデータフレームで、なぜ新しく作成された変数を条件内で使用して別の変数を作成できないのですか?
attach(originaldata)
originaldata$hk_nonagr[hktype == 2 |hktype ==4 |hktype == 5] <- 1
originaldata$hk_nonagr[hktype == 1 |hktype == 3 |hktype == 6 |hktype == 7] <- 0
originaldata$hk_nonagr <- factor(originaldata$hk_nonagr,
levels = c(1, 0),
labels = c("yes", "no"))
これは私の新しく作成された変数です。次に、それを使って別の変数を作成します。
originaldata$hk_effort[urbanhk == 1|urbanhk == 2|urbanhk == 3|urbanhk == 4|urbanhk == 7] <- 1
originaldata$hk_effort[originaldata$hk_nonagr == 0 |yr_urbanhk == 9997|r_urbanhk == 5|r_urbanhk == 6|r_urbanhk ==8|r_urbanhk ==9] <- 0
ここで問題が発生します。値0を割り当てることはできません。私は試しました
originaldata$hk_effort[originaldata$hk_nonagr == 0] <- 0
私は問題が新しく作成された変数についてだと思います。条件で新しく作成された変数を使用するたびに同じ問題が発生します。
私はRの初心者ですので、このコード方法が悪いかどうか教えてください。 Stataでは、私は何かのように書くのに慣れています
replace x = 4 if (a == 1 | b ==3) & c != 8
しかし、私は今、Rユーザーがこのようにコード化していないと感じています。事前にアドバイスをありがとうございます。
あなたの問題はほぼ確実にあなたが 'attach'を使っていることです。それをしないでください。それは多くの問題に関連しています。代わりに 'with'を使うか、完全な名前をタイプするだけです。あなたはそのような頭痛を避けるでしょう。 – lmo
サンプル入力データで[再現可能な例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を提供すると、所望の出力データ。また、Rコードで 'attach()'を使うのは良い考えではありません。このような突然変異については、 'dplyr'ライブラリを使って物事をきれいにすることも考えられます。 – MrFlick
@Imo @ MrFlickありがとうございました。私は 'attch()'を避け、 'with'と' dplyr'を試してみます。 – DXC