【问题标题】:How to add function result to a list如何将函数结果添加到列表中
【发布时间】:2021-04-09 00:06:17
【问题描述】:

我正在尝试将我的函数结果添加到一个空列表中。 我已经看到了很多关于它的问题,但我不知道如何在我的代码中实现它们

a1 <- runif(10, 0, 1)
a2 <- runif(15, 0, 1)
a3 <- runif(20, 0, 1)
a4 <- runif(25, 0, 1)
a5 <- runif(30, 0, 1)
a6 <- runif(35, 0, 1)
a7 <- runif(40, 0, 1)
a8 <- runif(45, 0, 1)
a9 <- runif(50, 0, 1)
a10 <- runif(55, 0, 1)
a11 <- runif(60, 0, 1)
a12 <- runif(65, 0, 1)

dane <- list()
Estymator_sredniej <- function(która_próba, liczebnosc) {
  res <- round((1/liczebnosc) * sum(która_próba), digits = 3)
  cat(paste(res),sep = "\n")
  new_element <- res
  dane[[length(dane) + 1]] <- new_element
}

lista <- list(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)
o <- 10
for (i in lista){
  Estymator_sredniej(i, o)
  o <- o + 5
}

我正在尝试将正常数字“res”(例如 0.385)添加到名为“dane”的列表中

每次我尝试运行代码时列表都是空的。

为了调试,我打印了 res(它有效)

我试过用这个

 new_element <- 5
 dane[[length(dane) + 1]] <- new_element

将 5 个添加到我的列表中(有效)

那么为什么我不能将 res 添加到此列表中? 老实说,我的想法很奇怪

【问题讨论】:

    标签: r list function for-loop append


    【解决方案1】:

    我猜你的函数 Estymator_sredniej 中需要 &lt;&lt;-,例如,

    dane <- list()
    Estymator_sredniej <- function(która_próba, liczebnosc) {
      res <- round((1 / liczebnosc) * sum(która_próba), digits = 3)
      dane[[length(dane) + 1]] <<- res
    }
    
    lista <- list(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)
    o <- 10
    for (i in lista) {
      Estymator_sredniej(i, o)
      o <- o + 5
    }
    

    这样

    > dane
    [[1]]
    [1] 0.502
    
    [[2]]
    [1] 0.482
    
    [[3]]
    [1] 0.544
    
    [[4]]
    [1] 0.498
    
    [[5]]
    [1] 0.532
    
    [[6]]
    [1] 0.473
    
    [[7]]
    [1] 0.517
    
    [[8]]
    [1] 0.499
    
    [[9]]
    [1] 0.472
    
    [[10]]
    [1] 0.462
    
    [[11]]
    [1] 0.508
    
    [[12]]
    [1] 0.484
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-01
      • 2019-09-21
      • 2022-11-26
      • 1970-01-01
      • 2020-04-27
      • 2021-01-11
      • 1970-01-01
      • 2011-07-24
      相关资源
      最近更新 更多