202得票6回答
如何使用变量来指定ggplot中的列名

我有一个ggplot命令ggplot( rates.by.groups, aes(x=name, y=rate, colour=majr, group=majr) ) 在函数内部。但我希望能够使用函数的一个参数来选择要用作颜色和分组的列。即我想要类似于这样的东西f <- function...

55得票5回答
在ggplot中循环变量

我希望使用ggplot循环遍历多个列以创建多个图表,但是在for循环中使用占位符会改变ggplot的行为。 如果我有这个: t <- data.frame(w = c(1, 2, 3, 4), x = c(23,45,23, 34), y = c(23,34,54, 23), z ...

53得票4回答
dplyr:如何在函数内使用group_by?

我想在另一个函数内使用 dplyr::group_by 函数,但不知道如何将参数传递给该函数。 有人可以提供一个可行的例子吗?library(dplyr) data(iris) iris %.% group_by(Species) %.% summarise(n = n()) # ## S...

50得票4回答
如何使用dplyr按列索引重命名列?

以下代码将数据集中的第一列重命名:require(dplyr) mtcars %>% setNames(c("RenamedColumn", names(.)[2:length(names(.))])) 期望结果: Renam...

37得票4回答
为什么在R语言中要优先使用enquo() + !!,而不是substitute() + eval()?

在下面的示例中,为什么我们应该更喜欢使用f1而不是f2?在某种意义上,它是否更有效率?对于习惯于基础R的人来说,使用“substitute + eval”选项似乎更自然。 为什么我们应该更喜欢使用f1而不是f2?在某种意义上,它是否更有效率?对于习惯于基础R的人来说,使用“substitu...

30得票4回答
如何使用动态名称和dplyr重命名变量?

我希望在一个函数内使用传递为参数的名称来重命名列。基本上,我有一个函数。produce_data_frame <- function(name) { return(iris) } 我希望这个函数可以将Sepal.length列的名称更改为“name”(其中“name”取决于变量名)。...

28得票4回答
dplyr:按位置选择列的非标准评估(NSE)

我正在尝试创建一个函数,它会根据列的位置选择DF中的列。我总是需要第一列,然后是DF的子集。每个需要选择的子集都有一个对象。 到目前为止,我尝试过以下方法:position <- "1,28:31" DF %>% select_(.dots = position) 但是我收到...

20得票2回答
非标准评估的危险在哪里,如果有的话,是否有记录?

许多具有非标准评估的R函数,例如with,subset和transform,包含以下警告: 对于交互式使用,这非常有效且易于阅读。但是,在编程中,即在一个人的函数中,需要更加小心,通常应避免使用with(),因为数据中的变量可能会意外覆盖局部变量,请参见参考文献。(引用自with的文档,其他...

19得票3回答
dplyr::select()如何选择可能不存在于数据框中的变量?

我有一个辅助函数(比如说foo()),将在各种数据框上运行,这些数据框可能包含特定的变量,也可能不包含。假设我有library(dplyr) d1 <- data_frame(taxon=1,model=2,z=3) d2 <- data_frame(taxon=2,pss=4,z...

19得票1回答
rlang::sym在匿名函数中的使用

我最近注意到rlang::sym在匿名函数中似乎不起作用,但我不明白为什么。这里是一个例子,它相当笨拙和丑陋,但我认为它说明了问题。 require(tidyverse) data <- tibble(x1 = letters[1:3], x2 = let...