【问题标题】:How to assign multiple variables values in one line in R? [duplicate]如何在R中的一行中分配多个变量值? [复制]
【发布时间】:2019-04-04 03:22:37
【问题描述】:

问题: 根据三次模型生成长度为 n = 100 的响应向量 Y:????=????0+????1????+??????2????^2+? ???3????^3+????其中 β0、β1、β2 和 β3 是您自己选择的常数。

我正在尝试为 4 个 beta 分配随机整数。我想知道我是否可以在 R 的一行中为它们分配不同的值?

我的做法如下:

beta_0, beta_1, beta_2, beta_3 = c(1, 2, 3, 4)

谢谢!

【问题讨论】:

  • 你为什么不尝试使用原子向量beta <- c(1, 2, 3, 4)并通过索引访问i:beta[i]

标签: r


【解决方案1】:

一个选项是list2env,将其放在named list

list2env(setNames(as.list(1:4), paste0("beta_", 0:3)), envir = .GlobalEnv)

但是,最好处理list 本身而不是在全局环境中创建多个对象

【讨论】:

  • 你好@akrun,当你提到“在列表本身上工作可能会更好”,你的意思是因为它在全局环境中的对象负载较少,还是因为更容易以紧凑的方式分配值?如果是最后一个,你能举个例子吗?非常感谢您。
  • @ÁlvaroA.GutiérrezVargas 我的意思是在list 上工作更容易,然后再将其写回,因为您始终可以使用lapply/sapply/vapply 等来遍历列表并进行转换
猜你喜欢
  • 1970-01-01
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 2016-12-13
  • 2020-08-09
  • 2012-10-17
  • 1970-01-01
  • 2019-08-16
相关资源
最近更新 更多