r - 如何在 dplyr mutate 中使用列阴影的变量
问题描述
给定一个数据框df
和一个局部变量z
,我想将 的列设置y
为df
等于z
:
df <- data.frame(x=1:5)
z <- 5
df %>%
mutate(y = z)
但是,如果名为 的列z
已存在df
,则设置y
等于该列,而不是等于局部变量的值:
df <- data.frame(x=1:5, z=4)
z <- 5
df %>%
mutate(y = z)
如何确保将其设置为局部变量,而不管 中存在什么列df
?
(我知道我可以重命名/删除有问题的列,但我正在处理其列在运行前未知的数据。)
解决方案
一种选择是在全局环境而不是本地环境中检查对象
library(dplyr)
df %>%
mutate(z = .GlobalEnv$z)
推荐阅读
- mysql - MySQL – 无法查看不同表中的数据,因为作业号有后缀
- r - 从环境创建对象,在循环中使用
- python - 如何在没有 PermissionError 的情况下向 selenium 添加 chrome 扩展:[Errno 13] Permission denied?
- php - sqlDataPovider 到 activeDataProvider Yii2
- angular - 在堆积图中选择一系列列并检索相关数据
- swift - 从开放天气 api SwiftUI 获取错误
- reactjs - 后端中的 Microsoft 身份验证和访问令牌验证?
- yolo - Yolo 学习率没有意义?
- google-cloud-firestore - 谷歌云存储缓存js文件
- java - 并行执行测试的周期性问题