我有一个数据集,其中包含与该dummy.df相似的眼动数据
dummy.df <- data.frame(GY = sample(300:600, 500, replace = T),
target.position = sample(c("up", "down"), 500, replace = T),
trial.number = rep(1:10, each = 50))
toptargetpos_px <- 550
bottomtargetpos_px <- 350
GY是眼睛在Y轴上的位置数据。 toptargetpos和bottomtargetpos代表眼睛必须交叉的Y轴上的水平线。 我想突变一个额外的列,该列指定如果横线交叉的每个target.position。
所以可以做的是:
dummy.df %>%
mutate(on.target = GY >= toptargetpos_px)
如果GY确实在toptargetpos_px以上,则为TRUE。但是,我希望脚本考虑到target.position是什么(上下),因此它采用了相应的水平线(toptargetpos_px或bottomtarget_px)
看起来像这样:
dummy.df %>%
mutate(on.target = GY[target.position == "up"] >= toptargetpos_px) |
GY[target.position == "down" <= bottomtargetpos_px]
但是,这不起作用。我该怎么做才能使其正常工作?我当然可以写两列,但这并不理想。