繁体   English   中英

R函数比较列

[英]R function to compare columns

在R语言中,我想创建一个函数来查看选定的列以便在Viewer中进行比较。 假设我的数据帧是df1:

compare_col <- function(x){
  select(df1, x) %>%
    View()
}

如果我用x定义函数,我只能输入1列。

compare_col <- function(x)

compare_col("col_1")

只有当我用x,y定义函数时,才可以输入2列。

compare_col <- function(x, y)

compare_col("col_1", "col_2")

如何创建一个动态足以输入任何数字的函数 列?

您可以使用rlang包来实现此目的。 这将允许您使用syms输入一串列名称!!! 运算符,它将根据您的需要动态地在给定环境中进行拼接和评估。

library(dplyr)
#library(rlang)
compare_col <- function(x){
  df1 %>% select(!!! syms(x)) %>%
    View()
}
compare_col(c("col1", "col2"))

刚刚意识到,我实际需要做的就是在调用函数时向量化输入。

compare_col(c("col1", "col2"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM