[Bug]: `within` doesn't replace the lefthand side of an expression.
还没有人认领这个 Issue。
评估
调研方向
首先复现围绕 within、qenv() 和 eval_code 报告的示例,然后检查 within 的实现及其文档链接。确认左侧如何解析,检查文档条目 @aliases within 是否缺失,并在预期的变更行为和 ?within 查找都得到覆盖后,视为工作完成。
由索引模型根据 Issue 内容生成。
描述
What happened?
I wanted to mutate a variable by using as.factor but I found that using this approach doesn't replace the content but creates a new column:
library("teal.code")
var <- "Species"
q <- within(qenv(),
{
library("dplyr")
iris <- iris
iris2 <- mutate(iris, a = as.factor(a))
},
a = as.name(var)
)
setdiff(colnames(q$iris2), colnames(q$iris))
#> [1] "a"
Created on 2025-10-24 with reprex v2.1.1
One workaround is to use the dplyr's walrus := assignment:
library("teal.code")
var <- "Species"
q <- within(qenv(),
{
library("dplyr")
iris <- iris
iris2 <- mutate(iris, a := as.factor(a))
},
a = as.name(var)
)
setdiff(colnames(q$iris2), colnames(q$iris))
#> character(0)
Created on 2025-10-24 with reprex v2.1.1
but this might confuse readers of the code if this end up on the Show R code on teal.
If not a bug perhaps mentioning this on the documentation would be helpful to users.
Also, I realized that within doesn't have the @aliases within so users searching with ?within will not find it (but it is linked from eval_code and qenv).
sessionInfo()
Relevant log output
Code of Conduct
- I agree to follow this project's Code of Conduct.
Contribution Guidelines
- I agree to follow this project's Contribution Guidelines.
Security Policy
- I agree to follow this project's Security Policy.
- 主要语言
- R
- 星标
- 12
- 派生
- 11
- 平均合并
- 8 天 15 小时
- 30 天内合并 PR
- 2
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
insightsengineering/teal.code 的其他 Issue
-
Move to Pharmaverse可能已有人在做 @llrs-roche 于 39 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 68/100
insightsengineering/teal.code#292 ·
-
[Feature Request]: High cyclomatic complexity leds to bad readability可能已有人在做 @llrs-roche 于 40 天前认领。 未关闭enhancement
难度 3/5 3-5 天 新手友好度 45/100
insightsengineering/teal.code#295 ·
-
core discussion
难度 5/5 一周以上 新手友好度 25/100
insightsengineering/teal.code#291 · 2 条评论 · 1 个 reaction ·
-
bug core
难度 4/5 3-5 天 新手友好度 38/100
insightsengineering/teal.code#272 ·
-
This is test issue to test copilot capabilities可能已有人在做 @copilot-swe-agent 于 437 天前认领。 未关闭bug
insightsengineering/teal.code#266 · 1 个 reaction · 已指派 1 人 ·
查看 insightsengineering/teal.code 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
mlr-org/mlr3cmprsk#42 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 67/100
-
难度 2/5 1-3 小时 新手友好度 79/100
tidymodels/orbital#192 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 64/100
mitchelloharawild/ggtime#38 ·