【问题标题】:R programming Sapply functionR编程Sapply函数
【发布时间】:2014-02-14 20:40:11
【问题描述】:

我正在尝试使用 sapply 函数创建一个 100 行和 20 列的矩阵,我想用 0 到 1 之间的随机变量填充矩阵

【问题讨论】:

  • 你能告诉我们你目前的尝试吗?
  • sapply(100:20,rtriangle) 我选择 rtriangle 的原因是我想生成从 0 到 1 的数字,第一个 100:20 是 100 行和 20 列
  • 抱歉,这没什么意义。 100:20 创建向量 (100, 99, 98, ..., 21, 20) 而不是 20 x 100 矩阵。请参阅下面的答案
  • 我想我没有正确地问我的问题我希望在 100 行 20 列矩阵中生成一个随机数从 0 到 1 的矩阵,以及如何使用 sapply 来做到这一点跨度>

标签: r


【解决方案1】:

这里有两种可能的解决方案:

replicate(20, rtriangle(100))
sapply(rep(100, 20), rtriangle)

两者都会产生 100x20 的矩阵。

【讨论】:

    【解决方案2】:

    sapply() 迭代一维结构,例如向量或列表。如果可能,最终将返回的结果组合成一个矩阵。要创建一个 20 x 100 的矩阵,您需要在某个具有 100 个元素的结构上运行 sapply(),以获取一个返回 20 个元素的向量的函数。这是一个简单的例子:

        sapply(1:100, function(x) x * (1:20))
    

    希望对您有所帮助。

    干杯,UBod

    【讨论】:

    • 我仍然没有得到让我们说如果我想生成从 0 到 1 的随机数并且我想要一个 100 X 20 的矩阵
    • 带有随机数的 100x20 矩阵?那么你根本不需要 sapply。以下应该为你做:matrix(runif(100 * 20), 100, 20)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 2017-04-19
    相关资源
    最近更新 更多