我有一個與 22 個城市相關的融化資料框,每個城市有 5 個大小帶。變數列與日期相關。資料框如下所示:
| 城市 | 大小帶 | 多變的 | 價值 |
|---|---|---|---|
| 馬德里 | 1 到 3 | 2020 年 4 月 | 0.74 |
| 馬德里 | 4 到 6 | 2020 年 4 月 | 0.71 |
| 馬德里 | 7 到 9 | 2020 年 4 月 | 0.78 |
| 馬德里 | 10 到 12 | 2020 年 4 月 | 0.77 |
| 馬德里 | 13 到 15 | 2020 年 4 月 | 0.72 |
| 馬德里 | 1 到 3 | 2020 年 5 月 | 0.81 |
| 馬德里 | 4 到 6 | 2020 年 5 月 | 0.79 |
| ... | ... | ... | ... |
我正在嘗試創建一個函式來繪制geom_point用于每個城市的時間序列。我試過下面的代碼:
Cities_List<-split(data,
f = data$City)
# Function to plot different cities
plot.cities <- function(x) {
for (i in 1:length(Cities_List)) {
p<- x[[i]] %>%
ggplot(aes(variable, value))
geom_point(aes(color = size_band,
group = size_band),
size = 3,
shape = size_band)
}
}
plot.cities(Cities_list)
顏色變數未被識別:
Error in geom_point(aes(color = size_band, group = size_band), size = 3, :
object 'size_band' not found
uj5u.com熱心網友回復:
必須在aes功能內映射顏色和形狀等美學。此外,函式plot.cities必須回傳一些東西,而不是分配一個內部變數p。
library(tidyverse)
data <- tibble::tribble(
~City, ~size_band, ~variable, ~value,
"Madrid", "1 to 3", "April 2020", 0.74,
"Madrid", "4 to 6", "April 2020", 0.71,
"Madrid", "7 to 9", "April 2020", 0.78,
"Madrid", "10 to 12", "April 2020", 0.77,
"Madrid", "13 to 15", "April 2020", 0.72,
"Madrid", "1 to 3", "May 2020", 0.81,
"Madrid", "4 to 6", "May 2020", 0.79
)
Cities_List <- split(data,
f = data$City
)
# Function to plot different cities
plot.cities <- function(x) {
for (i in 1:length(Cities_List)) {
x[[i]] %>%
ggplot(aes(variable, value))
geom_point(aes(color = size_band, shape = size_band), size = 3)
}
}
plot.cities(Cities_List)
由reprex 包(v2.0.1)于 2021 年 12 月 14 日創建
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/380639.html
上一篇:在整個XTS物件串列上使用函式
下一篇:用總結停止警告
