R ggplot2:打印错误条时忽略nan值

R ggplot2:打印错误条时忽略nan值,r,ggplot2,R,Ggplot2,我有一个看似简单的问题,由于某种原因,我找不到任何关于它的信息 我正试图创建一个简单的散点图,其中包含从数据集的标准偏差得出的误差条。但是,有一些数据集只有一个点,因此sd函数返回nan 当我尝试使用ggplot2中的数据时,出现以下错误: 错误:ggplot2不知道如何处理类uneval的数据 以下是我创建平均值和标准偏差数据的代码: avg_rxn <- rxn_data %>% group_by(system, solvent_type, solvent_position)

我有一个看似简单的问题,由于某种原因,我找不到任何关于它的信息

我正试图创建一个简单的散点图,其中包含从数据集的标准偏差得出的误差条。但是,有一些数据集只有一个点,因此sd函数返回nan

当我尝试使用ggplot2中的数据时,出现以下错误:

错误:ggplot2不知道如何处理类uneval的数据

以下是我创建平均值和标准偏差数据的代码:

avg_rxn <- rxn_data %>%
  group_by(system, solvent_type, solvent_position) %>%
  summarize(distance_mean = mean(distance),
            distance_error = sd(distance),
            energy_mean = mean(energy_rxn),
            energy_error = sd(energy_rxn))
avg_rxn%
分组依据(系统、溶剂类型、溶剂位置)%>%
汇总(距离=平均(距离),
距离误差=sd(距离),
能量平均值=平均值(能量),
能量误差=sd(能量rxn))
下面是我生成绘图的代码:

water_distance <- avg_rxn %>%
  filter((system == "9h0m") | (system == "8h1m")) %>%
  filter(solvent_type == "water") %>%
  #filter(solvent_position == "axial") %>%
  select(energy_mean, energy_error, system, solvent_position, distance_mean, distance_error)

ylimits = aes(ymax = energy_mean + energy_error, ymin = energy_mean - energy_error)
xlimits = aes(xmax = distance_mean + distance_error, xmin = distance_mean - distance_error)

water_distance_plot <- ggplot(data = water_distance, aes(solvent_position, x = distance_mean, 
                                                         y = energy_mean, shape = solvent_position,
                                                         color = system)) +
  geom_point(size = 5) +
  geom_errorbar(ylimits, xlimits, width = 0.25) +
  theme_few()

ggsave("figures/water_distance_plot.png", water_distance_plot)
water\u距离%
过滤器((系统==“9h0m”)|(系统==“8h1m”))%>%
过滤器(溶剂类型==“水”)%>%
#过滤器(溶剂位置==“轴向”)%>%
选择(能量平均值、能量误差、系统、溶剂位置、距离平均值、距离误差)
ylimits=aes(ymax=能量平均值+能量误差,ymin=能量平均值-能量误差)
xlimits=aes(xmax=距离平均值+距离误差,xmin=距离平均值-距离误差)

你能添加一些(可能是假的)数据来修补吗?我相信有更好的方法,但也许你可以对数据集进行排序,看看哪一个是单一的,然后复制该值。每个数据集都有两个。你能添加一些(可能是假的)数据来修补吗?我相信有更好的方法,但也许你可以对数据集进行排序,看看哪一个是单一的,然后复制该值。每人两个。