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]
但是,这是行不通的。我该怎么做才能让它工作?我当然可以制作 2 列,但这并不理想。
解决方案
推荐阅读
- django - 如何在 Django 循环中排除项目?
- kubernetes - 阿里云节点内存 Requested/Limited/Used
- wordpress - 登录 WP - 将单个字段连接到外部 api
- java - 当我尝试在 C# 上启动这个 .jar 文件时,为什么它不会运行?
- git - 通过cherry-pick将行添加到不同的位置导致冲突
- python - NOT NULL 约束失败:auth_user.password
- react-native - 将导航从子组件传递到父组件获取 TypeError
- flutter - Flutter:如何从 Firebase 获取实时数据库(导入的 Json)中的数据
- python-3.x - 通过 stackoverflow 错误使用 Selenium 登录 Google
- java - Jitpack 任务“安装”在根项目 Android 库中不明确