编辑:哈德利威克姆指出我错过了.R CMD检查是投掷NOTES,而不是警告.我非常抱歉这种混乱.这是我的疏忽.
R CMD check每次我在ggplot2中使用合理的绘图创建语法时都会抛出此注释:
no visible binding for global variable [variable name]
Run Code Online (Sandbox Code Playgroud)
我理解为什么R CMD检查会这样做,但它似乎将整个其他合理的语法定为犯罪.我不知道采取什么措施来让我的包裹通过R CMD check并获准进入CRAN.
Sascha Epskamp之前基本上发布了相同的问题.我认为,不同之处在于它的手册subset()页说它是专为交互式使用而设计的.
就我而言,问题还没有结束,subset()而是超出了一个核心特征ggplot2:data =争论.
JitteredResponsesByContrast <- function (data) {
return(
geom_point(
aes(
x = x.values,
y = y.values
),
data = data,
position = position_jitter(height = 0, width = GetDegreeOfJitter(jj))
)
)
}
Run Code Online (Sandbox Code Playgroud)
R CMD …
在阅读并重新阅读了许多"使用dplyr编程"指南之后,我仍然无法找到解决我的特定情况的方法.
据我所知,使用group_by_,mutate_和tidyverse功能,例如"字符串型"版本向弃用的标题,这enquo是要走的路.
然而,我的情况有所不同,我正在努力寻找一种整洁的方式来解决它的整洁方式.
实际上,我的目标是在函数内创建和操作数据帧.基于其他人创建(变异)新变量,使用它们等.
但是,无论我怎么努力,我的代码都会出错或者在包检查时返回一些警告,例如no visible binding for global variable ....
这是一个可重复的例子:
这就是我想要做的事情:
df <- data.frame(X=c("A", "B", "C", "D", "E"),
Y=c(1, 2, 3, 1, 1))
new_df <- df %>%
group_by(Y) %>%
summarise(N=n()) %>%
mutate(Y=factor(Y, levels=1:5)) %>%
complete(Y, fill=list(N = 0)) %>%
arrange(Y) %>%
rename(newY=Y) %>%
mutate(Y=as.integer(newY))
Run Code Online (Sandbox Code Playgroud)
一些常见的dplyr操作预期结果应该是:
# A tibble: 5 x 3
newY N Y
<fctr> <dbl> <int>
1 1 3 1
2 2 1 2
3 3 1 …Run Code Online (Sandbox Code Playgroud)