22得票2回答
dplyr中出现了“全局变量'.'没有可见的绑定”的提示,这是在包检查时发现的。

在 dplyr 中,可以使用 '.' 来引用管道中的数据,例如可以写出这样的代码。x <- data.frame(x = 2:4) y <- data.frame(y = 1:3) y %>% dplyr::bind_cols(x,.) 但是在使用函数并运行程序包检查时,会...

22得票3回答
不传递第一个参数使用管道

%>% 管道操作符是否总是将左侧(LHS)提供给右侧(RHS)的第一个参数?即使第一个参数在 RHS 调用中再次指定?比如说,我想指定在 cor() 中使用哪个变量:library(magrittr) iris %>% cor(x=.$Sepal.Length, y=.$Se...

21得票3回答
R语言中是否存在从右到左的操作符结合性?

我是R的新手,刚发现我患有括号恐惧症(见链接中的评论)。我喜欢magrittr符号%>% 的工作方式,因为它可以避免在某些情况下嵌套括号,并使代码更易读。我来自Mathematica,那里有一个非常相似的本地符号//来完成%>% 的功能。以下是一些R和Mathematica的比较:...

20得票4回答
为什么在高基数分组时使用dplyr管道(%>%)比等效的非管道表达式慢?

我本以为一般情况下使用%>%不会对速度产生明显影响。但在这种情况下,它运行得慢了4倍。library(dplyr) library(microbenchmark) set.seed(0) dummy_data <- dplyr::data_frame( id=floor(ru...

20得票1回答
suppressWarnings()函数无法与管道操作符一起使用

我试图使用suppressWarnings()函数来抑制警告信息。 令人惊讶的是,当正常使用时,它可以去除警告信息,但是当你使用管道%>%运算符时,则无法起到作用。 这里是一段示例代码:library(magrittr) c("1", "2", "ABC") %>% as.n...

20得票2回答
我应该使用 %$% 而不是 %>% 吗?

最近我发现了%$%管道运算符,但是我不明白它与%>% 的区别,并且它能否完全代替它。使用%$%的动机在许多情况下,运算符%$%可以替代%>%:mtcars %>% summary() mtcars %$% summary(.) mtcars %>% head(10) m...

19得票4回答
自定义管道以消除警告消息

与这个问题相关。我想要构建一个自定义的管道%W>%,可以使得一次操作中的警告被忽略。 library(magrittr) data.frame(a= c(1,-1)) %W>% mutate(a=sqrt(a)) %>% cos 将等同于: w <- optio...

18得票5回答
穿越具有中间结果的流水线

有没有一种方法可以在不手动运行的情况下输出每个步骤管道的结果?(例如,无需选择并仅运行所选块) 我经常逐行运行管道以记住它正在做什么或者当我在开发一些分析时。 例如:library(dplyr) mtcars %>% group_by(cyl) %>% sample_...

18得票3回答
使用 magrittr 和 dplyr 在 R 中进行条件数据框变异

我希望利用magrittr和dplyr的简洁性,根据其他列中的值,在子集列之间复制单个值。这是一个简单的例子; 我想将此想法应用于多个条件下的大型数据集的许多列,并在一系列命令中使用。 以数据框df <- data.frame(a = 1:5, b = 6:10, x = 11:15,...

16得票3回答
如何使用magrittr管道符处理多个参数函数?

对于单参数函数,将“标准”R代码转换为magrittr管道风格是相当简单的。mean(rnorm(100)) 变为rnorm(100) %>% mean 对于具有多个参数的函数,我不确定最好的处理方式是什么。有两种情况。 首先,当附加参数为常量时。在这种情况下,您可以创建一个匿名函数来...