【发布时间】:2011-07-22 16:00:04
【问题描述】:
要创建向量 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 在一行中很容易,只需在命令行中输入以下内容即可立即输出相应的输出:
c(rep(1:3, 5))
但是有没有类似的简单方法来生成向量 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 ?
重复的模式不同,但我不清楚为什么它不适合非常简单的解决方案。使用“for”循环可以做到这一点,没有太大的困难,但是可以将其全部压缩成一个“行”吗?
【问题讨论】:
-
是否有系统来命名/描述不同类型的重复模式?不幸的是,当我搜索重复项时,出现了许多“R 重复向量”问题;我看到的所有人都对不同的模式感兴趣。 Which 模式仅从他们使用的示例而非口头描述中清楚,不幸的是,这是一个没有使用明显示例进行搜索的人的欺骗!我确信必须有丰富的词汇来描述许多不同类型的重复模式,并且搜索和描述问题会容易得多,但是字典在哪里?
-
“repetitive”是一个不好搜索的词;改用“重复”。 “[r] 重复向量”的前两个结果回答了你的问题......但是,阅读手册也是如此。您的问题似乎也对您的批评感到内疚。
-
啊,你是对的。 “重复”提供了更好的搜索结果,谢谢。这有点奇怪,因为虽然模式是“重复的”,但它不是严格来说是“重复模式”(这是用于由单个重复单元构建的结构的名称),这解释了我的标题的选择(以及为什么我阅读了错误的帮助文件!)。这种重复模式必须有一个名称,但我不知道 - 因此我在上面的查询。如果我知道名字是什么,我会搜索它,或者失败,至少给我的问题一个更好的标题!但我希望给出的例子是清楚的。
-
我的搜索建议完全基于我的搜索策略经验(因为人们在描述和/或回答这个问题时更有可能使用“重复”)。
标签: r