【问题标题】:How to assign same value to multiple variables in one line? [duplicate]如何在一行中为多个变量分配相同的值? [复制]
【发布时间】:2018-10-04 09:10:32
【问题描述】:

例如,我想将 1 分配给 a、b、c、...、z。我必须输入,

a <- 1
b <- 1
c <- 1
...
z <- 1

如何键入一行并将所有值分配给变量?

【问题讨论】:

  • a &lt;- b &lt;- c &lt;- z &lt;- 1;这会很好用,它们都是单独的变量,不会像 python 那样给你带来同样的问题。
  • 您可以使用apply函数族进行迭代并使用assign:sapply(letters, assign, 1, envir = parent.frame())
  • @PoGibas 很棒的建议,特别是如果您要分配三个或四个以上的变量。
  • @duckmayr 和@Ronak 也许这个问题与链接为重复的问题不同,Mass variable declaration and assignment in R?。也就是说,在另一个问题中,只有 5 个变量要分配。正如@duckmayr 指出的那样,考虑这个问题是否不同是合理的,因为 OP 在此处尝试分配的变量数量远远超过您在&lt;- 分配链中输入的合理数量?
  • @krads 合理建议;在我投赞成票的时候,我还没有考虑到这个方面——有时音量会使看似相同的任务变得不同。我会添加重新投票,但我会说我不能单方面删除重复的标记。

标签: r


【解决方案1】:

你可以试试:

for (x in letters) assign(x,1)

【讨论】:

    【解决方案2】:

    另一种方法,不使用assignSee here

    my_list <- as.list(paste(letters[1:3]))
    names(my_list) <- paste(letters[1:3])
    
    library(purrr)
    map(my_list, function(x) {x <- 1
                              x})
    
    $`a`
    [1] 1
    
    $b
    [1] 1
    
    $c
    [1] 1
    

    【讨论】:

      猜你喜欢
      • 2019-11-19
      • 2012-07-23
      • 2019-04-04
      • 2017-09-16
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 2022-01-02
      相关资源
      最近更新 更多