我有以下資料:
library(dplyr)
countries <- c('Austria', 'Belgium', 'Bulgaria', 'Croatia', 'Republic of Cyprus')
year <- rep(2009:2022, length(countries))
country <- as.data.frame(rep(countries, length(2009:2022)))
country <- country[order(country$`rep(countries, length(2009:2022))`),]
df<- cbind.data.frame(country, year)
df$year <- as.numeric(df$year)
df <- df %>%
group_by(country) %>%
mutate(n_obs = 1:n())
df <- df %>% group_by(country) %>%
mutate(gdp = rnorm(n = 1, mean = 3000, sd = 300) 20.64*n_obs,
inflation = rnorm(n = 1, mean = 5, sd = 3) 1.23*n_obs)
我想像這樣一張一張地為 gdp 和通貨膨脹制作線圖:
ggplot(df, aes(x = year, y = inflation, color = country)) geom_line()
ggplot(df, aes(x = year, y = gdp, color = country)) geom_line()
但是,在實際資料中,我有很多變數要繪制,我想知道如何使用 lapply 來實作這一點。我嘗試了以下代碼:
lapply(df[,c(4,5)], function(var)
ggplot(data = df, aes(x = year, y = var, color = country))
geom_line() labs(x = "year", y = var))
這可行,但我無法在圖上獲得 y 變數標簽。任何幫助,將不勝感激。
問候
uj5u.com熱心網友回復:
您可以使用以下代碼:
lapply(names(df)[4:5], function(var)
ggplot(data = df, aes(x = year, y = .data[[var]], color = country))
geom_line() ylab(var))
輸出gdp:

輸出inflation:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/457872.html
上一篇:轉軸ggplot2
下一篇:RPlotly-分解分位數圖
