我有幾個變數必須可視化,每個變數都在不同的圖中。我有 20 多個變數,我希望將每個圖都存盤為一個元素,這樣我就可以只使用對我有用的那些來創建最終數字。這就是為什么我認為在回圈中創建圖將是最佳選擇。
我需要幾種圖,但對于這個例子,我將使用箱線圖。我想堅持使用 ggplot,因為它可以讓我以后輕松地調整我的圖表。
假設這是我的資料:
a<-(rnorm(100,35,1))
b<-(rnorm(100,5,1))
c<-(rnorm(100,40,1))
mydata<-data.frame(a,b,c)
我想為每個名為圖 1、圖 2 和圖 3 的變數創建直方圖。
我正在嘗試這個,但是對回圈的經驗很少,我不知道我錯在哪里。
variable_to_be_plotted<-c("a","b","c")
for (i in 1:3) {
paste("Figure",i)<-print(ggplot(data = mydata, aes( variable_to_be_plotted[i] ))
geom_boxplot())
}
uj5u.com熱心網友回復:
您可以將繪圖保存在串列中。這是一個for回圈來做到這一點。
library(ggplot2)
variable_to_be_plotted<-c("a","b","c")
list_plots <- vector('list', length(variable_to_be_plotted))
for (i in seq_along(list_plots)) {
list_plots[[i]] <- ggplot(data = mydata,
aes(.data[[variable_to_be_plotted[i]]])) geom_boxplot()
}
可以通過 等訪問各個list_plots[[1]]圖list_plots[[2]]。
uj5u.com熱心網友回復:
您可以使用 制作繪圖lapply(),命名繪圖串列,然后使用list2env()
plots = lapply(mydata, function(x) ggplot(mydata, aes(x)) geom_boxplot())
names(plots) <- paste("Figure", 1:3)
list2env(plots, .GlobalEnv)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/442921.html
