R 中的函数产生空向量

Function in R produces a null vector

Snapshot_ID_Tag<-NULL
CreateIDtag<- function(A,B){
  for (i in A:B)
  {
    ID<-append(Snapshot_ID_Tag,c(paste("AT0",i,)),after=length(Snapshot_ID_Tag))
  }}

我目前正在使用此代码生成用于实验的 ID 向量。我的输出应该是样本的 ID 列表(例如,如果 A 是 1,B 是 9,结果应该是 ("AT01","AT02",....,"AT09") ) 但是,每当我 运行 这段代码时,它都会产生一个空向量。我做了几项调整,我认为这些调整可以解决问题,但无济于事。

如果有人对如何更正此问题有建议,请分享。

这里完全不需要 for 循环

CreateIDtag <- function(A,B){
    paste0("AT0",A:B)
}
CreateIDtag(1,9)
# [1] "AT01" "AT02" "AT03" "AT04" "AT05" "AT06" "AT07" "AT08" "AT09"

你原来的函数有几个问题。您不应该使用函数来修改全局变量。另外,您的函数实际上 return 没有任何内容,因为 for 循环没有 return 值。并且您的 ID 变量基本上被重新分配而不是 "growing" 因为 Snapshot_ID_Tag 在每次循环后保持 NULL。