r - 用 dplyr 写 T 而不是 TRUE
问题描述
由于懒惰,我经常T
使用TRUE
. 在这里,我观察到一个奇怪的行为dplyr
,它并不总是被接受。
此示例崩溃 ( incompatible value for ``na.rm`` argument
):
df = head(iris)
mutate(df, n = n_distinct(Species, na.rm=T))
但这些例子有效:
mutate(df, n = n_distinct(Species, na.rm=TRUE))
df$n = n_distinct(df$Species, na.rm=T)
mutate(df, m = mean(Sepal.Length, na.rm=T))
当然,这里的简单解决方法是避免缩写和 type TRUE
。但这也不起作用:
b = TRUE
mutate(df, n = n_distinct(Species, na.rm=b))
这种行为有什么可以理解的解释吗?莫名其妙的非标准评价?知道要避免什么可以帮助我减少调试代码的时间。
解决方案
这是由于一个错误,现在已修复。感谢 Tidyverse 团队!
推荐阅读
- vue.js - 将集合复制出 vuex 状态以防止突变是标准的吗?
- javascript - 为什么 FormData 使用 fetch API 会导致我的屏幕刷新?
- azure-information-protection - 在服务/守护程序应用程序中使用 MIP SDK 保护文件时出错
- python - 从 tkinter 子窗口获取变量
- python - 颠簸版本和同时构建?
- angular - 如何修复重定向调用的错误:“无法读取未定义类型错误的属性‘拆分’”
- c# - OAuthPrompt Waterfall 需要启动两次才能让 RouteAsync 被多次调用
- .net-core - 如何使用子域将客户端 ID 委托给 Azure B2C 进行身份验证
- c - 为什么我的代码没有在这个链表中插入一个新节点?
- jsf - HttpServletRequest.getParameter 打破 Primefaces FileUploadFilter?