为元数据创建可变长度的示例向量

  • 本文关键字:向量 元数据 创建 r
  • 更新时间 :
  • 英文 :


我首先要解决一个简单的问题我必须为我的阶段创建一个向量,然后需要为数量不同的样本生成另一个向量。

下面的代码做到了我所需要的,但无论如何都可以将它们组合成一个吗

stage <- c("Blast","HSC","LSC")
sample1 <- c(rep("Blast", 2), rep("HSC",4), rep("LSC", 3))
Sample1 <- ave(sample1, sample1, FUN = function(i) paste0(i, '_', seq_along(i)))
Sample1

任何建议或帮助都将非常感谢

或者其他方法。。。

stage <- c("Blast","HSC","LSC")
count <- c(2, 4, 3)
paste(rep(stage, count), sequence(count), sep = "_")
[1] "Blast_1" "Blast_2" "HSC_1"   "HSC_2"   "HSC_3"   "HSC_4"   "LSC_1"   "LSC_2"   "LSC_3" 

也许在Map中使用paste是另一种方式。

stage <- c(Blast = 2, HSC = 4, LSC = 3)
unlist(Map(function(x, y) paste(x, seq_len(y), sep="_"), names(stage), stage)
, FALSE, FALSE)
#[1] "Blast_1" "Blast_2" "HSC_1"   "HSC_2"   "HSC_3"   "HSC_4"   "LSC_1"  
#[8] "LSC_2"   "LSC_3"