我正在使用vapply
获取字符向量,例如:
vapply(X = 1:16,
FUN = function(X) {paste0("status", X)},
FUN.VALUE = character(1))
#> [1] "status1" "status2" "status3" "status4" "status5" "status6"
#> [7] "status7" "status8" "status9" "status10" "status11" "status12"
#> [13] "status13" "status14" "status15" "status16"
包括输出。
说,我不想返回字符变量,而是想使用sym()
返回符号(或对象名称),例如:
rlang::sym("status1")
#> status1
但是如果我想返回符号作为vapply
输出怎么办?我需要使用FUN.VALUE = ...
参数指定输出值类型,但我找不到如何执行此操作的良好示例,并且使用FUN. VALUE = symbol(1)
或FUN.VALUE = name(1)
的不同变体的尝试均失败了。
所需的输出看起来像:
[1] status1 status2 status3 status4 status5 status6
我们可以使用lapply
可以用as.symbol
转换为符号
lapply(X = 1:16,
FUN = function(X) {as.symbol(paste0("status", X))})
根据?name
对于is.name和is.symbol,值TRUE或FALSE的长度为一的逻辑向量。