首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个跳转和随机化

创建一个跳转和随机化
EN

Stack Overflow用户
提问于 2019-04-02 13:57:29
回答 1查看 48关注 0票数 2

我想要创建一个带有ID (iter)和随机生成数据的tibble。

代码语言:javascript
复制
   iter data
  <int> <list>
1     1 <dbl [5]>
2     2 <dbl [5]>
3     3 <dbl [5]>

我尝试了两种类型的代码,其中只有一种给出了预期的结果,但我不知道为什么,因为唯一的区别是在tibble()中生成数据。

代码语言:javascript
复制
iter <- 2 ; n <- 5 ; mu <- 1
gen_data <- function(x){  # randomly draw from Exponential function
    return(rexp(n, rate=1/mu))
}

# Works (different values each time)
data <- lapply(1:iter, gen_data)
tibble(iter = 1:iter,
             data = data) %>% unnest(data)

# Doesn't work (+ there is a warning)
tibble(iter = 1:iter,
             data = lapply(1:iter, gen_data)) %>% unnest(data)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-02 14:11:04

当您在第二个示例中调用lapply()时,需要仅以名称引用iter,而不是试图重新构建向量。

代码语言:javascript
复制
tibble(iter = 1:iter,
       data = lapply(iter, gen_data)) %>% unnest(data)

这是因为tibble()正在它的上下文中按名称查找变量,并且iter已经以c(1,2)的形式存在。警告来自您将两个元素传递给:,它会发出投诉,然后使用第一个元素向前移动。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55476644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档