R 从不同图形的列表中获取名称和值
我有一个数据集和列表,我一直在工作。我一直在尝试为列表中的每个R 从不同图形的列表中获取名称和值,r,ggplot2,tidyverse,tidyr,R,Ggplot2,Tidyverse,Tidyr,我有一个数据集和列表,我一直在工作。我一直在尝试为列表中的每个ID创建一个单独的图表l。我想在A的图形中打印A=1,在B的图形中打印B=2,等等。在我的实际数据集中,ID在整个列表中重复不同的值,理想情况下,我希望从与ID相关联的图表上打印一个ID的所有值 这是我以前尝试过的,但是当我尝试查看绘图时,我得到了错误 Error: Aesthetics must be either length 1 or the same as the data (200): label 库(lubridate)
ID
创建一个单独的图表l
。我想在A
的图形中打印A=1
,在B
的图形中打印B=2
,等等。在我的实际数据集中,ID
在整个列表中重复不同的值,理想情况下,我希望从与ID
相关联的图表上打印一个ID
的所有值
这是我以前尝试过的,但是当我尝试查看绘图时,我得到了错误
Error: Aesthetics must be either length 1 or the same as the data (200): label
库(lubridate)
图书馆(tidyverse)
日期根据可复制的示例,您可以这样做:
library(purrr)
library(ggplot2)
p.list <- imap(split(df, ID), ~
ggplot(.x, aes(x = date, y = NSD)) +
geom_line() +
theme_bw() +
theme(axis.text.x = element_text(angle = 90)) +
scale_x_datetime(date_breaks = '2 months', date_labels = '%y%j') +
geom_text(data = subset(id_labels, ID == .y), aes(label = label,
x = as.POSIXct(-Inf, '1970-01-01'),
y = max(.x$NSD),
hjust = 0,
vjust = 0))
)
您是否试图通过ID
创建facet\u网格
,或将每个ID
的单个绘图存储在列表中?您发布的示例有几个错误。尝试在新会话中运行代码,并编辑问题以调试示例。除了使用ggplot
获得的错误消息外,现在应该可以修复该问题。我试图在列表中为每个ID存储一个绘图。我有另一个列表l
,其中包含ID
和值,我想根据这些值分配给的ID
打印列表l
中的值。在我的实际数据集中,ID
在列表中重复多次,并且具有相同的ID
的不同值。
library(purrr)
library(ggplot2)
p.list <- imap(split(df, ID), ~
ggplot(.x, aes(x = date, y = NSD)) +
geom_line() +
theme_bw() +
theme(axis.text.x = element_text(angle = 90)) +
scale_x_datetime(date_breaks = '2 months', date_labels = '%y%j') +
geom_text(data = subset(id_labels, ID == .y), aes(label = label,
x = as.POSIXct(-Inf, '1970-01-01'),
y = max(.x$NSD),
hjust = 0,
vjust = 0))
)
p.list$A