【问题标题】:R triangular numbers functionR三角数函数
【发布时间】:2020-01-27 13:38:20
【问题描述】:

在编写一个用于计算满足方程的右三角数的小程序时,我偶然发现了一个页面,其中包含有关函数 Triangular() 的文档 Triangular function

当我尝试使用它时,Rstudio 说它找不到它,我似乎找不到任何关于它可能在哪个库中的其他信息。

这个函数是否存在和/或是否有其他方法可以用三角数填充向量?

【问题讨论】:

  • 你加载包Zseq了吗?
  • 不,我找不到它所在的包。谢谢!
  • f=function(n) n*(n+1)/2

标签: r statistics triangular


【解决方案1】:
  • 这是用于定义自定义三角数生成器的基本 R 解决方案,即,
myTriangular <- function(n) choose(seq(n),2)

myTriangular <- function(n) cumsum(seq(n)-1)

这样

> myTriangular(10)
 [1]  0  1  3  6 10 15 21 28 36 45
  • 如果您想使用 Triangular() 包中的 Zseq,请尝试
Zseq::Triangular(10)

这样

> Zseq::Triangular(10)
Big Integer ('bigz') object of length 10:
 [1] 0  1  3  6  10 15 21 28 36 45

【讨论】:

  • 谢谢,完美解决了我的问题!两种解决方案之间是否存在性能差异?
  • @Esye 我没有比较他们在速度方面的表现......但Zseq::Triangular 似乎能够处理超大数字,这对于基本 R 解决方案来说可能很难。
【解决方案2】:

自己做很容易:

triangular <- function(n) sapply(1:n, function(x) sum(1:x))

所以你可以这样做:

triangular(10)
# [1]  1  3  6 10 15 21 28 36 45 55

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多