R语言批量变量命名/结果命名问题解决

在程序设计时,经常遇到批量变量重命名的问题,或者需要把每个结果都保存,给每一次的结果命名,以便选择性查看结果。
思路:
批量命名,最能想到的就是字符串,然而字符串不可以作为变量名,如何?
下面就是利用assign(字符串,fun)来解决将运行结果放入字符串

plotList <- list()
name <- temp_prop$replace_item
class_num <- length(name)
row_num <- ceiling(class_num/3)
percent <- c()
p_char <- ''

for (i in (1:class_num)){

  temp_data <- filter(analy_data , replace_item==name[i])
  assign(paste0("p",i),ggplot(data= temp_data, aes(x=date, y= avg_url_rt)) +
           geom_smooth(size=1,method = 'lm')+
           geom_point(size =2)+
           xlab('') +
           ylab(''))
  plotList[i] <- paste0("p",i)
  p_char <- paste0(p_char,plotList[i],',')
} 

下面就是将保存的结果取出,eval(parse(text = 字符串)),还有一个函数get(字符串)也是可以提取结果的。依次取出可以利用lapply函数。

# Multi graph put together,note parameter (row_num ,3) 
ggmatrix(lapply(plotList, function(x) eval(parse(text = x))), row_num , 3)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章