Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
绘制平均值和标准偏差。R中对数数据的处理_R_Logging_Mean_Ggplot2 - Fatal编程技术网

绘制平均值和标准偏差。R中对数数据的处理

绘制平均值和标准偏差。R中对数数据的处理,r,logging,mean,ggplot2,R,Logging,Mean,Ggplot2,我想以对数标度绘制一些存储在两个向量(x和y)中的数据。 此外,我想添加平均值和标准偏差(后者使用条形图) 我的问题是,y-data-vector中有零,“mean”函数然后获取log(0)(=-Inf)作为参数,并返回-Inf qplot(x,y,log=“xy”)+统计摘要(fun.y=mean,geom=“point”) 如何使“平均值”函数在“正常”数据上工作,而不是在记录的数据上工作 干杯 Manuel阅读coord\u trans的帮助页面。使用coord_trans(xtrans=

我想以对数标度绘制一些存储在两个向量(x和y)中的数据。 此外,我想添加平均值和标准偏差(后者使用条形图)

我的问题是,y-data-vector中有零,“mean”函数然后获取log(0)(=-Inf)作为参数,并返回-Inf

qplot(x,y,log=“xy”)+统计摘要(fun.y=mean,geom=“point”)

如何使“平均值”函数在“正常”数据上工作,而不是在记录的数据上工作

干杯


Manuel

阅读
coord\u trans
的帮助页面。使用
coord_trans(xtrans='log10',ytrans='log10')
将帮助您创建一个日志图,因为坐标转换是在计算完所有统计数据之后进行的。

在转换之前计算统计数据

现在忽略对数刻度,我想你想要画的是这样的

p <- ggplot(dfr) + 
  geom_point(aes(x, y)) +       
  geom_point(
    aes(
      x = mean(x), 
      y = mean(y)
    ), 
    colour = "blue",
    size = 5
  ) +
  geom_rect(
    aes(
      xmin = mean(x) - sd(x),
      xmax = mean(x) + sd(x), 
      ymin = mean(y) - sd(y),
      ymax = mean(y) + sd(y)
    ),
    alpha = 0.2
  ) 
p
当然,零不会显示在图形上,因为它们不应该显示。要处理它们,您可以选择从数据集中删除它们还是替换一个小的正数



编辑:如果您希望y值的统计数据按x值分组,听起来您的x变量是一个因子,在这种情况下,您可能需要一个条形图。柱状图的对数y刻度是个坏主意,但你可以用平方根变换来代替。

嗨,里奇,谢谢你的回答。对不起,我没有完全写下我想要的:我不想要中庸和标准。除平均值和标准偏差外,所有数据中。对于每个x坐标的所有y数据点。好的,我刚刚在我的值中添加了1e-5;)
p +
  scale_x_log10() + 
  scale_y_log10()