8得票2回答
dplyr使用变量列进行mutate

我正在尝试使用mutate创建一个基于特定列的新列。 最终数据框示例(我正试图创建new_col): x = tibble(colA = c(11, 12, 13), colB = c(91, 92, 93), col_to_use = c("c...

14得票3回答
如何替换已弃用的ggplot2函数aes_string:接受任意数量的命名字符串以指定美学映射? 如何替代已废弃的ggplot2函数 aes_string,以接受任意数量的命名字符串来指定美学映射?

aes_string 曾经有一些方便的行为,我在使用 ggplot2 进行编程时用到了它。但是自从ggplot2版本3.4.0以来,aes_string 已被弃用。我正在努力寻找如何很好地替换它。 具体而言,我之前创建了函数,通过省略号接受任意字符串参数,并通过 do.call 将其传递给 ...

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

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

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 ...

13得票3回答
使用dplyr::case_when进行整洁评估编程

我尝试编写一个简单的函数,用于包装dplyr::case_when()函数。我阅读了 dplyr编程 文档在 https://cran.r-project.org/web/packages/dplyr/vignettes/programming.html 上但是无法弄清楚如何在case_whe...

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

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

8得票4回答
每行评估字符串中不同的逻辑条件

我有一个像这样的data.frame: value condition 1 0.46 value > 0.5 2 0.96 value == 0.79 3 0.45 value <= 0.65 4 0.68 value == 0.88 5 0.57 ...

12得票2回答
如何在函数中正确使用环境变量以操作 data.tables?

让我们举一个简单的例子data <- data.table::data.table(a = 1:10, b = 2:11) j <- quote(c("c") := list(a + 1)) data[, j, env = list(j = j)][] # ...

7得票2回答
dplyr中基于字符串的筛选 - NSE

我想使用dplyr的新非标准语言符号(版本>=0.6)对我的数据进行动态筛选。假设我有以下虚拟数据集: df = data_frame(x = 1:10, y = 10:1, z = 10 * runif(10)) 如果现在我想要筛选列 tofilter = "x" 中大于5的值,我知道...

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

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