【问题标题】:Patterned Vector in base基中的图案矢量
【发布时间】:2019-05-25 03:27:55
【问题描述】:

我想生成一个具有以下重复模式的向量:

1 1 2 1 2 3 1 2 3 4 ... 

范围从一个到某个任意停止点。

我可以使用sapply 后跟unlist 将其组合在一起,如下所示,但确实感觉应该有一个比这更直接的碱基调用。

repeating_function <- function(stop_point) { 
    res_list <- sapply(1:stop_point, FUN=function(x) {1:x}, simplify=TRUE)
    res      <- unlist(res_list)

    return(res)
} 

产生:

repeating_function(5)

[1] 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

【问题讨论】:

  • 您的解决方案对我来说就像是正确的基本 R 方式!

标签: r


【解决方案1】:

一个更简单的选择是

sequence(sequence(5))
#[1] 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

封装在函数中

repeating_function(val) {
   sequence(sequence(val))
  }

【讨论】:

  • 好了,谢谢@akrun!我没有看到命名一个新函数来完成这个的价值。同样,现在您已经发现了sequence,它可以包装另一个简单称为序列:sequence(1:5) 产生相同的结果。
猜你喜欢
  • 1970-01-01
  • 2013-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-28
相关资源
最近更新 更多