R中的直方图图

R中的直方图图,r,histogram,probability,R,Histogram,Probability,我正在寻找一些关于直方图图的指导 hist(CF) 假设我有一个vecotr(称为CF) 我使用下面的公式在柱状图中绘制这个向量 hist(CF) 现在让我们假设我有一个物业的10000个模拟估值。我想在直方图(或类似的图)中绘制这些图,其中x轴返回概率 这样的情节会让med有机会陈述这样的话:“以55%的概率,房产价值超过1500万美元 建议?您可能需要的是累积分布函数(CDF)。它在y轴上具有概率(不是您要求的x轴),但由于这是表示所需信息的标准方式,因此最好使用此曲线 例如,我用标准正

我正在寻找一些关于直方图图的指导

hist(CF)
假设我有一个vecotr(称为CF)

我使用下面的公式在柱状图中绘制这个向量

hist(CF)
现在让我们假设我有一个物业的10000个模拟估值。我想在直方图(或类似的图)中绘制这些图,其中x轴返回概率

这样的情节会让med有机会陈述这样的话:“以55%的概率,房产价值超过1500万美元


建议?

您可能需要的是累积分布函数(CDF)。它在y轴上具有概率(不是您要求的x轴),但由于这是表示所需信息的标准方式,因此最好使用此曲线

例如,我用标准正态分布生成了10000个值,然后构建了CDF:

CF <- rnorm(10000)
breaks <- seq(-4,4,0.5)
CDF <- sapply(breaks,function(b) sum(CF<=b)/length(CF))
plot(breaks,CDF,type="l")

我不知道您的详细数据,因此我无法给您提供更精确的代码。但基本上,您必须选择一组合理的中断,然后应用上述代码。

我同意@Stibu的说法,您需要CDF。当您谈论一组已实现的数据时,我们将其称为(ECDF).在R中,此函数的基本函数调用是:


谢谢。你有我可以用来获得准确概率的代码吗?例如:CF低于1.2的概率?你不能用这种方法获得准确概率,因为你使用的是经验数据。但是你可以根据你的数据来估计概率。这是计算CDF(应该是ECDF…)时所做的因此,您通过
sum(CF)估计CF低于
b
的概率
barplot(CDF,names.arg=breaks)
CF <- read.table(text="[1,] 2275.351
[2,] 2269.562 
[3,] 1925.700 
[4,] 1904.195 
[5,] 1974.039", header=F)
CF <- as.vector(CF[,-1])
CF  # [1] 2275.351 2269.562 1925.700 1904.195 1974.039
windows()
  plot(ecdf(CF))
library(fitdistrplus)
windows()
  plotdist(CF)
fdn <- fitdist(CF, "norm")
fdw <- fitdist(CF, "weibull")
summary(fdw)
# Fitting of the distribution ' weibull ' by maximum likelihood 
# Parameters : 
#         estimate Std. Error
# shape   13.59732   4.833605
# scale 2149.24253  74.958140
# Loglikelihood:  -32.89089   AIC:  69.78178   BIC:  69.00065 
# Correlation matrix:
#           shape     scale
# shape 1.0000000 0.3328979
# scale 0.3328979 1.0000000
windows()
  plot(fdn)
windows()
  cdfcomp(list(fdn,fdw), legendtext=c("Normal","Weibull"), lwd=2)