提问人:Chantal 提问时间:1/24/2023 更新时间:1/24/2023 访问量:37
根据 R 中其他列的值创建列
Creating column based on values of other columns in R
问:
我正在尝试根据另外两列($Condition 和 $Response)中的值在数据框中创建一个新列 ($Correct)。
我意识到有多种方法可以实现这一目标(此后我使用了另一种方法),但我对以下方法不起作用的原因很感兴趣。
training_data.df$Correct<- 0
training_data.df$Correct[training_data.df$Condition==2 & training_data.df$Response==1] <- 1
training_data.df$Correct[(training_data.df$Condition==1|3) & training_data.df$Response==2] <- 1
此方法在输出(新$Correct列)中生成正确的值,但 $Condition==2 和 $Response==2(值“1”打印在$Correct列而不是“0”)的情况除外。
这行代码可以单独正常工作,但不能与 $Condition==1|3 的另一行(最后一行)结合使用。
谁能解释为什么会发生这种情况?
答:
0赞
PGSA
1/24/2023
#1
training_data.df$Condition==1|3
读作:
- “(training_data.df$Condition 等于 1)”
或
- “三”。
“(training_data.df$Condition is equal to 1)” 可以是 TRUE 或 FALSE。
“三”没有那么多。
而我认为你的意思是: “training_data.df$Condition 等于(1 或 3)”。
这将是 或 .(training_data.df$Condition==1 | training_data.df$Condition==3)
training_data.df$Condition %in% c(1,3)
评论