首页 > 解决方案 > 如何将向量除以R中的标量并绘制它

问题描述

我正在制作一些 2000 次迭代的伯努利实验的直方图。我有很多 0 和 1,所以我绘制结果并得到一个很好的直方图,频率从 0 到 1000。现在我必须将频率除以 2000 并再次绘制,但我该怎么做呢?

我试图得到值的向量和频率的个性,但最后我不知道如何将值放在 x 轴上,将新频率放在 y 轴上。

Bernoulli = function(p){
  x = runif(1)
  if(x <= p){
    0
  }
  else{
    1
  }
}

Experiment = function(){
  vec = c(1,2000)
  for(i in 1:2000){
    vec[i] = Bernoulli(0.5)
  }
  vec
}

x = Experiment()

graph1 = hist(x, main="Bernoulli Experiment",
     xlab = "Value",
     ylab = "Frequence",
     col = "red",
     xlim = c(0,1))

标签: rplothistogram

解决方案


您希望以 0 到 1 的比例绘制数据。用这个:

plot(table(x)/2000)
axis(side=1, at=seq(0.2,0.8,0.2)) # add x-axis ticks from 0.2 to 0.8 by 0.2 increments

推荐阅读