这是我正在尝试做的事情的简化版本:
a <- list("1" = 10, as.character(2) = 20)
我期望的是as.character(2)
返回"2",a
随后返回:
> a
$`1`
[1] 10
$`2`
[1] 20
相反,我收到以下错误:
Error: unexpected '=' in "a <- list("1" = 1, as.character(2)[1] ="
有没有办法在一条线上做到这一点而不必沿着names(a) <- *namesVector*
路线倒退?
如果我们想做as.character
,可以通过在做赋值时计算(!!
(字符串来完成dplyr::lst
(:=
(
dplyr::lst("1" = 10, !!as.character(2) := 20)
#$`1`
#[1] 10
#$`2`
#[1] 20