根据列规格计算变量

时间:2018-09-25 10:06:32

标签: r

我有一个数据集,其中包含与该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]

但是,这不起作用。我该怎么做才能使其正常工作?我当然可以写两列,但这并不理想。

0 个答案:

没有答案