数据帧样本
你好,
如果"stim_type"=8且"response"=35,并且"stim__type"=7且"responses"=34,我正在尝试将正确的列设置为=1。任何其他组合则正确=0
如果不清楚,请告诉我,我们将不胜感激!
干杯
以下是一个使用dplyr
:的解决方案
library(dplyr)
df %>%
mutate(correct = ifelse((stim_type == 8 & response == 35) | (stim_type == 7 & response == 34), 1, 0))
这是一个使用base R
的解决方案
df$correct <- ifelse((df$stim_type == 8 & df$response == 35) | (df$stim_type == 7 & df$response == 34), 1, 0)
在这两种情况下,你都在说";如果(stim_type
=8 ANDresponse
=35(OR(stim_type
=7 ANDresponse
=34(,则将correct
的值更改为1,否则保持为零">
数据:
structure(list(stim_type = c(8, 7, 7, 8, 7, 8, 7, 7, 8, 8, 8,
7, 8), response = c(35, 35, 34, 35, 34, 35, 34, 34, 35, 35, 35,
34, 35), correct = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), row.names = c(NA,
-13L), class = c("tbl_df", "tbl", "data.frame"))
如果你尝试谷歌r if statement logical operators
,你应该有你的答案,但这里有一个小预览if('stim_type' = 8 & 'response' = 35)
,可以在这里找到一些解释https://www.tutorialgateway.org/logical-operators-in-r/