if 语句 returns 每个分支上的不同变量,如何仅使用一个 <- 运算符分配给该变量?

An if statement returns a different variable on each branch, how can I assign to that variable using only one <- operator?

考虑

if(sample(2, 1) == 1) a <- 5 else b <- 5

这是重复的。有什么办法可以不用写两次<- 5

您可以使用 assign -

assign(if(sample(2, 1) == 1) 'a' else 'b', 5) 

我们可以使用list2env

list2env(setNames(list(5),  c('a', 'b')[sample(2, 1)]), .GlobalEnv)

-正在检查

> a
[1] 5