私のデータベースの変数は「はい」と「いいえ」としてコード化されていますが、「1」と「2」にしたいと思います。
を使用して新しい変数を作成しようとしましたifelse
が、list
次のように編集すると機能しませんでした。
CA <- ifelse((CANCER == "Yes"),1
ifelse(( CANCER == "No"),2 )))
list(CA)
[[1]]
NULL
私のデータベースの変数は「はい」と「いいえ」としてコード化されていますが、「1」と「2」にしたいと思います。
を使用して新しい変数を作成しようとしましたifelse
が、list
次のように編集すると機能しませんでした。
CA <- ifelse((CANCER == "Yes"),1
ifelse(( CANCER == "No"),2 )))
list(CA)
[[1]]
NULL
を使用したい場合はifelse
、
CA <- ifelse(CANCER=="Yes", 1, 2)
仮定
levels(CANCER)
戻り値
Levels: yes no
あなたがただ言うなら、あなたの場合はおそらく最も簡単です
CA<-factor(as.numeric(CANCER))
ただし、一般的にも使用できます
Cancer<-factor(CANCER)
想定より
levels(Cancer)
戻り値
Levels: yes no
このようにレベルを変更できます
levels(Cancer)[1]<-"1"
levels(Cancer)[2]<-"2"
またはそれに応じてラベルを切り替えます。
変数が要因であるかどうかを知る必要があります。仮定する
foo <- c("yes","no","no","yes")
is.factor(foo) が TRUE を返す場合、たとえば を実行した場合はfoo <- factor(foo)
、
levels(foo) <- c("2", "1")
他に使用する
foo[foo == "yes"] <- 1
foo[foo == "no"] <- 2
また、 list() は、あなたが思っていること (私が思うに) をしません。foo の値を表示したい場合は、単に foo と入力します。上記のコードを実行した後...
foo
[1] 1 2 2 1
順序でレベルが設定された要因に強制すると、次のようになります"yes","no"
。
foo <- factor(c("yes","no","no","yes"),levels=c("yes","no"))
単純に数値に強制することができます:
as.numeric(foo)
これにより、次のことが得られます。
[1] 1 2 2 1