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。
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。