私はあなたの変数とデータセットを持っている:条件付き割り当ては
ACCURACY Feedback
141 0 3
156 0 1
167 1 2
185 1 1
191 1 NA
193 1 1
は、私は3つの潜在的な値を代入したいXと呼ばれる新しい列を作成しました(正しい、正しくない、不明)の組み合わせに基づいて、前の2つの値(すなわち、精度〜フィードバック)の間にある。
Iは、次を試してみました:
df$X=NA
df[!is.na((df$ACC==1)&(df$Feedback==1)),]$X <- "correct"
df[!is.na((df$ACC==1)&(df$Feedback==2)),]$X <- "unknown"
df[!is.na((df$ACC==1)&(df$Feedback==3)),]$X <- "incorrect"
df[!is.na((df$ACC==0)&(df$Feedback==1)),]$X <- "correct"
df[!is.na((df$ACC==0)&(df$Feedback==2)),]$X <- "unknown"
df[!is.na((df$ACC==0)&(df$Feedback==3)),]$X <- "incorrect"
しかし、ACCとフィードバックの両方に基づいて、Xの値を割り当てるdoesntのが、コードの各行は、前のいずれかによって割り当てられた値を上書き。 私は任意の指針/提案を感謝します。
あなたがあまりにも多くのレベルを持っていない場合、 'ifelse'は行く方法の1つです。 – alistaire
条件として「ACCURACY」が必要なのはなぜですか?ここでは何の役割も果たしていません。 'df $ X < - c("正しい "、"不明 "、"間違っている ")[df $フィードバック]' –