【问题标题】:How to take elements of a numeric vector in R, and create a new vector containing seq from 1:(each element)如何在 R 中获取数值向量的元素,并创建一个包含从 1 开始的 seq 的新向量:(每个元素)
【发布时间】:2020-07-06 10:23:07
【问题描述】:

假设我有一个名为input <- c(8,5,2) 的向量。我想创建一个基本上是c(1:8, 1:5, 1:2) 的新向量。我可以用以下丑陋的方式做到这一点:

input <- c(8,5,2);
newvec <- c();
for(num in input) newvec <- append(newvec, 1:num);
newvec

但我觉得它应该在一行中是可行的,而且我可能只是忘记了一个简单的解决方案。

【问题讨论】:

    标签: r vector sequence


    【解决方案1】:

    更简单的R 选项是sequence

    sequence(input)
    #[1] 1 2 3 4 5 6 7 8 1 2 3 4 5 1 2
    

    或者使用lapplyunlist

    unlist(lapply(input, seq))
    

    【讨论】:

    • 回复如此之快,我不得不等待 10 分钟才能接受它。谢谢!
    猜你喜欢
    • 2014-12-14
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多