如何在dplyr中使用变量列表?

凯特火腿

我觉得应该有一个非常简单的方法来执行此操作,但是我无法弄清楚。我想across在大型数据集中使用变量列表和tidyselect辅助函数,但我将iris作为示例。

在dplyr 1.0更新之前,我可以成功使用如下范围动词:

VARS <- vars(Sepal.Length, starts_with("Petal"))
iris %>% 
  mutate_at(VARS, as.character)

我以为iris %>% mutate(across(!!!VARS, as.character))可以,但是出现错误。我知道更新已取代vars,但无法使用list保存变量c

请帮忙!寻找一种优雅的tidyverse解决方案。

ekoam

有很多选项供您选择。

library(dplyr)
VARS1 <- quote(c(Sepal.Length, starts_with("Petal")))
VARS2 <- expr(c(Sepal.Length, starts_with("Petal")))
VARS3 <- quo(c(Sepal.Length, starts_with("Petal")))

输出量

> iris %>% mutate(across(!!VARS1, as.character)) %>% str()
'data.frame':   150 obs. of  5 variables:
 $ Sepal.Length: chr  "5.1" "4.9" "4.7" "4.6" ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: chr  "1.4" "1.4" "1.3" "1.5" ...
 $ Petal.Width : chr  "0.2" "0.2" "0.2" "0.2" ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

> iris %>% mutate(across(!!VARS2, as.character)) %>% str()
'data.frame':   150 obs. of  5 variables:
 $ Sepal.Length: chr  "5.1" "4.9" "4.7" "4.6" ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: chr  "1.4" "1.4" "1.3" "1.5" ...
 $ Petal.Width : chr  "0.2" "0.2" "0.2" "0.2" ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

> iris %>% mutate(across(!!VARS3, as.character)) %>% str()
'data.frame':   150 obs. of  5 variables:
 $ Sepal.Length: chr  "5.1" "4.9" "4.7" "4.6" ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: chr  "1.4" "1.4" "1.3" "1.5" ...
 $ Petal.Width : chr  "0.2" "0.2" "0.2" "0.2" ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在dplyr :: filter中使用变量?

来自分类Dev

如何在dplyr中使用purrr来过滤列表元素并将列表导出到Excel中

来自分类Dev

如何在dplyr中使用字符串变量作为过滤条件

来自分类Dev

如何在dplyr中使用mutate来动态修改变量?

来自分类Dev

如何在dplyr中使用NSE来引用一个变量?

来自分类Dev

如何在R中使用ifelse或dplyr?

来自分类Dev

如何在dplyr中使用SQL count(*)?

来自分类Dev

如何在PHP的变量中使用变量?

来自分类Dev

如何在R中使用dplyr从数据框中删除观察列表?

来自分类Dev

如何在dplyr中使用表达式列表进行突变?

来自分类Dev

如何在mlogit函数中使用字符列表作为自变量列表

来自分类Dev

列表输出被截断-如何在R中使用str()扩展列出的变量

来自分类Dev

如何在Pyspark数据框中使用列表理解变量名称

来自分类Dev

LINQ:如何在orderBy子句中使用变量字段列表

来自分类Dev

如何在Jquery中使用JS变量(MP3播放列表)

来自分类Dev

如何在不引发 SyntaxError 的情况下在列表中使用范围变量?

来自分类Dev

如何在python中使用if else语句将列表放入函数中以创建变量?

来自分类常见问题

如何在简单规则中使用变量?

来自分类Dev

如何在.then中使用函数变量?

来自分类Dev

如何在匿名函数中使用变量?

来自分类Dev

如何在类变量中使用@available

来自分类Dev

如何在PHP中使用jQuery变量

来自分类Dev

如何在curl发布中使用变量?

来自分类Dev

如何在C中使用原子变量?

来自分类Dev

如何在__asm中使用变量?

来自分类Dev

如何在XPath中使用变量?

来自分类Dev

如何在href中使用PHP变量?

来自分类Dev

如何在XPath中使用变量?

来自分类Dev

如何在括号扩展中使用变量

Related 相关文章

热门标签

归档