Рассчитать переменную в зависимости от спецификации столбца - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть набор данных, содержащий данные отслеживания глаза, похожие на этот 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 колонки, но это не идеально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...