R语言如何在函数参数中使用变量值作为键名或字段名?
R语言变量值作为键的一行实现方案
基础list场景
- R 4.0及以上版本可使用
:=动态注入变量值:
y <- 'happy' l <- list("{y}" := 1) names(l) # 返回 "happy"
- 全版本兼容的
setNames写法:
y <- 'happy' l <- setNames(list(1), y) names(l) # 返回 "happy"
Dict包场景
两种一行实现方式如下:
library(Dict) x <- c(1,2) # 写法1:传入预命名的列表 d <- dict(.data = setNames(list(1), x)) d$keys # 返回 "1,2" # 写法2:动态语法注入(更简洁) d <- dict("{x}" := 1) d$keys # 返回 "1,2"
说明:Dict包会自动将非字符串类型的键转为字符串格式存储,所以向量
c(1,2)会被转换为"1,2"作为键使用。
内容的提问来源于stack exchange,提问作者Lei Zhang
相关产品推荐
相关产品推荐

