[英]How to make a loop to plot several graphs using ggplot
這是我的數據框:
x1 <- c(1,2,3,4)
x2 <- c(3,4,5,6)
x3 <- c(5,6,7,8)
x4 <- c(7,8,9,10)
x5 <- c(8,7,6,5)
df <- c(x1,x2,x3,x4,x5)
我從數據框中選擇3個變量,分別針對x1繪制3個散點圖,並將其存儲在字符向量中:
varlist <- c("x2","x4","x5")
所以我想創建一個函數,使用ggplot
來ggplot
與x2,x1與x4和x1與x5的3個獨立散點圖,其中xx
和yy
是要繪制的不同變量對:
ggplot(data = df) +
geom_point(mapping = aes(x = xx, y = yy)) +
geom_smooth(mapping = aes(x = xx, y = yy))
您可以這樣做:
mapply(function(y) print(ggplot(data = df) +
geom_point(aes_string(x = "x1", y = y)) +
geom_smooth(aes_string(x = "x1", y = y))), y=c("x2","x4","x5"))
注意:我使用df <- data.frame(x1,x2,x3,x4,x5)
而不是df <- c(x1,x2,x3,x4,x5)
x
設置為x1
, mapply
將在y
上循環,其中包含我們要針對x1
繪制的不同變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.