在程序设计时,经常遇到批量变量重命名的问题,或者需要把每个结果都保存,给每一次的结果命名,以便选择性查看结果。
思路:
批量命名,最能想到的就是字符串,然而字符串不可以作为变量名,如何?
下面就是利用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)