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
考虑
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