在R中绘制对数刻度

Jos*_*osh 0 statistics plot logarithm r graph

我试图绘制一个对数刻度,但我继续得到这个错误:

Error in plot.window(...) : invalid "log=1/h" specification. 
Run Code Online (Sandbox Code Playgroud)

我不确定我做错了什么.以下是我的代码:

   #function
function(stepsize, temp_val, counter) {
  while(counter < 0) {
    counter <- counter + stepsize
    px_norm <- dnorm(counter, mean = 0, sd = .04)
    temp_val <- temp_val + px_norm }
  temp_val <- 2*temp_val
  temp_val <- temp_val *(stepsize/2)
  print(temp_val, digits = 12)
}

#Initial step size
h <- .01 
while (h > .00001) {
  x <- calc_error(h, 0, -5) #Gives me a result around .5
  err <- x - (exp(-.02)*0.5)
  plot(1/h, err, log = "1/h")
  h <- h/10 }
Run Code Online (Sandbox Code Playgroud)

基本上,在这个简短的函数中,我试图表明随着步长的增加,真实答案的误差会减少.但是,我在绘制这个问题时遇到了麻烦.任何帮助将不胜感激.谢谢

Sve*_*ein 13

这应该是创建情节的简单方法:

h <- 10^-seq(2, 4)
err <- lapply(h, function(x) calc_error(x, 0, -5) - (exp(-.02) * .5))
plot(1/h, err, log = "x")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


AGS*_*AGS 7

plot(1/h, err, log = "1/h")
Run Code Online (Sandbox Code Playgroud)

log应该是您在日志空间中想要的绘图轴,而不是实际数据.

plot(1/h, err, log = "x")
Run Code Online (Sandbox Code Playgroud)

将在日志空间中绘制x轴