首页 > 解决方案 > R - 在 R 函数中使用文字字符串参数

问题描述

如何引用文字字符串的参数?

在下面的示例中,我想在数据框中获取最小 CONTACT_DATE

fx1  <- function(df1, pDate ) { 
  cat( as.Date( df1[ pDate] ) %>% min( na.rm = TRUE) );
}

# Print the Min CONTACT_DATE 
fx1 ( df_Del0 , "CONTACT_DATE"); 

感谢您的帮助奥布里

尝试了不同的方式,比如

cat ( as.Date(df1[eval(parse(pDate)]) %>% min( na.rm = TRUE);

标签: r

解决方案


使用[[而不是[提取为vectorasas.Datemin适用于vectors

fx1 <- function(df1, pDate) {
        min(as.Date(df1[[pDate]]), na.rm = TRUE)
}

%>%是一个magrittr链。可以base R使用|>(from R 4.1.0)完成链接

fx1 <- function(df1, pDate) {
        df1[[pDate]] |>
         as.Date() |>
         min(na.rm = TRUE)
}

此外,cat/print只需将输出打印到控制台并且没有return值。我们可以返回输出以供将来使用,而不仅仅是打印


推荐阅读