У меня есть набор данных, содержащий данные отслеживания глаза, похожие на этот 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)
Это дает TRUE, если GY действительновыше toptargetpos_px.Однако я хочу, чтобы скрипт принимал во внимание, что является target.position (вверх или вниз), поэтому он принимает соответствующую горизонтальную линию (toptargetpos_px или bottomtarget_px)
Что бы выглядеть примерно так:
dummy.df %>%
mutate(on.target = GY[target.position == "up"] >= toptargetpos_px) |
GY[target.position == "down" <= bottomtargetpos_px]
Однако это не работает.Что я могу сделать, чтобы это работало?Я, конечно, могу сделать 2 колонки, но это не идеально.