R语言如何动态打印单个向量?origin系列变量输出问题
解决方案
你的代码问题在于cat(paste0('origin',i))只是输出了变量名的字符串(比如"origin1"),而非变量存储的实际值。以下是两种可行的修正方式:
方法一:使用get()获取变量值
通过get()函数可以根据变量名字符串,从全局环境中取出对应的变量值:
origin <- sort(c('USA','Europe','Asia'), decreasing = T) for (i in 1:length(origin)){ assign(paste0('origin',i), origin[i], envir = .GlobalEnv) # 拼接变量名和对应值后打印,换行让输出更清晰 cat(paste0('origin',i, ' = ', get(paste0('origin',i)), '\n')) }
方法二:直接使用原向量元素(更高效)
因为你创建的变量值本身就来自origin向量的第i个元素,所以可以直接调用origin[i]打印,省去get()的额外操作:
origin <- sort(c('USA','Europe','Asia'), decreasing = T) for (i in 1:length(origin)){ assign(paste0('origin',i), origin[i], envir = .GlobalEnv) cat(paste0('origin',i, ' = ', origin[i], '\n')) }
两种方法的输出结果都会是:
origin1 = USA origin2 = Europe origin3 = Asia
内容的提问来源于stack exchange,提问作者jkatam
相关产品推荐
相关产品推荐

