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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章