在程序設計時,經常遇到批量變量重命名的問題,或者需要把每個結果都保存,給每一次的結果命名,以便選擇性查看結果。
思路:
批量命名,最能想到的就是字符串,然而字符串不可以作爲變量名,如何?
下面就是利用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)