r - 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);
解决方案
使用[[
而不是[
提取为vector
asas.Date
或min
适用于vector
s
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
值。我们可以返回输出以供将来使用,而不仅仅是打印
推荐阅读
- javascript - 使用矩区库的区域缩写是动态的吗
- sql-server - MS SQL 2012 - 如何插入时间戳以延续时间序列图表?
- javascript - 如果不是窗口,谁会保留对变量的引用?
- php - php7 fileInfo 扩展名,用于上传。无法在“null”加载魔法数据库。我忘记了哪些文件?
- laravel - Laravel + Carbon + 时区
- html - 没有方法属性的表单可以正常工作吗?
- java - Android Studio:我有 100 个按钮,使用 onclick 函数是否可以获得我为其指定的 ID?
- azure-cosmosdb - 批量删除 cosmos DB 中的所有项目:404 未找到
- sql - 聚合字段与常量的聚合函数
- javascript - 如何在基于某些行记录数据加载时禁用 extJS 网格中的网格单元