工作,我有一个数据帧胁:之一“否则,如果”命令并不在for循环
Tar_RL Tar_UD Resp RT Button_Rel Accur
LEFT UP 201 12582 1439 miss
RIGHT DOWN 203 12389 1440 miss
RIGHT UP 204 10748 1280 miss
RIGHT DOWN 203 11056 1760 miss
RIGHT DOWN 203 6090 1680 miss
LEFT DOWN 202 5743 1440 hit
LEFT DOWN 202 5671 1520 hit
LEFT UP 201 5378 1520 hit
RIGHT UP 204 5032 1360 hit
RIGHT DOWN 203 5038 1440 hit
RIGHT UP 204 4399 1360 hit
RIGHT DOWN 203 4273 1849 hit
RIGHT DOWN 203 5087 1683 hit
RIGHT UP 204 4453 1760 hit
Tar_RL和TAR_UD的组合如下:左+上被编码为201,LD - 202,RD - 203,RU - 204
我写了一个代码为Tar_RL和Tar_UD组合在新列Corr_Resp映射:
FLANK$Corr_Resp <- 0
for (i in 1:nrow(FLANK)) {
if(FLANK$Tar_RL[i]<= 'LEFT' & FLANK$Tar_UD[i]<= 'UP'){
FLANK$Corr_Resp[i] <- 201
}
else if (FLANK$Tar_RL[i]<= 'LEFT' & FLANK$Tar_UD[i]<= 'DOWN'){
FLANK$Corr_Resp[i] <- 202
}
else if(FLANK$Tar_RL[i]<= 'RIGHT' & FLANK$Tar_UD[i]<= 'DOWN'){
FLANK$Corr_Resp[i] <- 203
}
else if (FLANK$Tar_RL[i]<= 'RIGHT' & FLANK$Tar_UD[i]<= 'UP'){
FLANK$Corr_Resp[i] <- 204
}
}
但是,它给了我这种输出的地方的价值观202(LD的组合)缺失:
Tar_RL Tar_UD Resp RT Button_Rel Accur Corr_Resp
LEFT UP 201 12582 1439 miss 201
RIGHT DOWN 203 12389 1440 miss 203
RIGHT UP 204 10748 1280 miss 204
RIGHT DOWN 203 11056 1760 miss 203
RIGHT DOWN 203 6090 1680 miss 203
LEFT DOWN 202 5743 1440 hit 201
LEFT DOWN 202 5671 1520 hit 201
LEFT UP 201 5378 1520 hit 201
RIGHT UP 204 5032 1360 hit 204
RIGHT DOWN 203 5038 1440 hit 203
RIGHT UP 204 4399 1360 hit 204
RIGHT DOWN 203 4273 1849 hit 203
RIGHT DOWN 203 5087 1683 hit 203
RIGHT UP 204 4453 1760 hit 204
什么是错我的代码?
为什么你试着'<='(小于或等于)与字符?可能你需要'=='? – Batanichek
谢谢,解决了这个问题! – MariKo
你可以不用'FLANK $ Corr_Resp [FLANK $ Tar_RL =='LEFT'&FLANK $ Tar_UD =='UP'] = 201'和其他组合 – Batanichek