繁体   English   中英

根据 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

此方法在 output(新的 $Correct 列)中生成正确的值,但 $Condition==2 和 $Response==2 的情况除外(值“1”打印在 $Correct 列中而不是“0”) .

这行代码本身可以正常工作,但不能与 $Condition==1|3 的另一(最后)行结合使用。

谁能解释为什么会这样?

training_data.df$Condition==1|3

读作:

  • “(training_data.df$Condition 等于 1)”

或者

  • “三”。

“(training_data.df$Condition 等于 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM