标签: ecdf

分位数与ecdf结果

我正在尝试使用ecdf,但是我不确定自己是否做对了。我的最终目的是找到对应于特定值的分位数。举个例子:

sample_set <- c(20, 40, 60, 80, 100) 
# Now I want to get the 0.75 quantile:
quantile(x = sample_set, probs = 0.75)
#result:
75% 
80
# Let's use ecdf
ecdf(x = sample_set) (80)
#result
0.8
Run Code Online (Sandbox Code Playgroud)

为什么会有这种差异?我是在犯一些琐碎的错误,还是取决于分位数的计算方式?

谢谢,马克斯

r quantile ecdf

4
推荐指数
1
解决办法
669
查看次数

如何使用ggplot绘制反向(互补)ecdf?

我目前使用stat_ecdf绘制我的累积频率图.

这是我使用的代码

    cumu_plot <- ggplot(house_total_year, aes(download_speed, colour = ISP)) + 
                 stat_ecdf(size=1)
Run Code Online (Sandbox Code Playgroud)

但是我想要逆转ecdf(补充ecdf).有什么想法最简单的方法吗?

干杯!

reverse r ecdf

4
推荐指数
2
解决办法
2347
查看次数

如何从ecdfplot()中提取ecdf值

如果我使用包的ecdfplot()功能,latticeExtra我如何获得计算的实际值,即与~x|g输入相对应的y值?

我一直在看,?ecdfplot但没有描述它.对于通常的高级函数,ecdf()它适用于命令,plot=FALSE但这不起作用ecdfplot().

我想使用的原因ecdfplot(),而不是ecdf()在于我需要计算ecdf()为分组变量的值.我知道我也可以做到这一点,但我相信也有一条高路.

这里有一个小例子

u <- rnorm(100,0,1)
mygroup <- c(rep("group1",50),rep("group2",50))
ecdfplot(~u, groups=mygroup)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想为每个组提取相应x值的y值.

r extract extraction lattice ecdf

3
推荐指数
2
解决办法
7194
查看次数

R中的日志日志概率图

我确信这很容易,但是我一直在试图找出如何在R中做到这一点.

我有一些数据,我试图适应幂律分布.为此,您需要在对数日志累积概率图表上绘制数据.y轴是数据频率的LOG(如果您愿意,则为对数概率),x轴是值的对数.如果它是直线,则它符合幂律分布,并且梯度确定幂律参数.

如果我想要数据的频率,我可以使用ecdf()函数:

我的数据集叫做Profits.negative,它只是一长串的交易利润小于零(我将它们全部转换为正数以避免以后记录问题).

所以我可以输入

plot(ecdf(Profits.negative))
Run Code Online (Sandbox Code Playgroud)

我得到了一个方便的经验CDF功能.我需要做的就是将两个轴转换为对数刻度.我可以做x轴:

Profits.negative.logs <- log(Profits.negative)
plot(ecdf(Profits.negative.logs))
Run Code Online (Sandbox Code Playgroud)

差不多了!我只需要弄清楚如何记录y轴!但我似乎无法做到这一点,我无法弄清楚如何从ecdf对象中提取数字.有人可以帮忙吗?

我知道有一个power.law.fit函数,但这只是估计参数 - 我想绘制数据并查看它是否排列.

r power-law ecdf

3
推荐指数
1
解决办法
2129
查看次数

有效计算数据框列的百分位

此问题是此处提出和回答的 StackOverflow 问题的扩展。

我的情况有所不同,因为我想计算 50,000 个(或更多!)值的向量内每个值的百分位数。例如 -

df <- data.frame(val = rnorm(n = 50000, mean = 50, sd = 20))
df$val.percentile <- sapply(X = df$val, function(x) ecdf(df$val)(x))
head(df)
Run Code Online (Sandbox Code Playgroud)

有没有一种好方法来优化计算每个值的百分位数的过程?本质上,我希望使其尽可能高效,以便运行时间尽可能短。

r quantile dataframe ecdf

3
推荐指数
1
解决办法
5288
查看次数

得到一个 ECDF 的导数

是否可以区分 ECDF?以下面得到的那个为例。

set.seed(1)

a <- sort(rnorm(100))
b <- ecdf(a)

plot(b)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我想取导数b以获得其概率密度函数(PDF)。

statistics r ecdf

3
推荐指数
1
解决办法
1051
查看次数

使用 ggplot2 在一个组合图中绘制密度和累积密度函数

我想得到一个结合了观测密度和累积分布函数的图。

通常的问题是两者的规模相差甚远。如何解决这个问题,即使用两个尺度,或者重新调整其中一个数据系列(最好在 ggplot 内,因为我想将数据的计算和显示分开)。

这是到目前为止的代码:

>dput(tmp) 产量

structure(list(drivenkm = c(8, 11, 21, 4, 594, 179, 19, 7, 10, 36)), .Names = "drivenkm", class = c("data.table", "data.frame" ), row.names = c(NA, -10L), .internal.selfref = <pointer: 0x223cb78>)

那我就做

p = ggplot(data = tmp, aes(x = drivenkm)) + geom_histogram(aes(y = ..density..), alpha = 0.2, binwidth = 3) + stat_ecdf(aes(x = drivenkm)); print(p)

我得到的是以下内容:

在此输入图像描述

显然,天平相差甚远。如何解决这个问题,以便可以以合理的方式解释直方图和 cdf?

谢谢!

r ggplot2 cdf ecdf density-plot

2
推荐指数
1
解决办法
2037
查看次数

关闭 plot.ecdf() 中的虚线

ecdf在 R 中绘制一个对象会产生一个很好的经验分布函数。例如:

x = seq(1,10,1)
ecdf1 = ecdf(x)
plot(ecdf1,verticals=TRUE, do.points=FALSE)
Run Code Online (Sandbox Code Playgroud)

但是,默认行为会生成一个在 0 和 1 处带有水平虚线的图形。我没有看到plot.ecdf()在对plot.stepfun(). 现在,我实际上是在虚线上方画一条白线。

当然有办法关闭绘制这些虚线吗?

ecdf 数字

plot r ecdf

2
推荐指数
1
解决办法
4087
查看次数

如何在r中平滑ecdf图

我有一个df5变量,

头(DF,15)

               junc  N1.ir  N2.ir    W1.ir    W2.ir    W3.ir
1  pos$chr1:3197398  0.000000  0.000000  0.000000  0.000000  0.000000
2  pos$chr1:3207049  0.000000  0.000000  0.000000  0.000000  0.000000
3  pos$chr1:3411982  0.000000  0.000000  0.000000  0.000000  0.000000
4  pos$chr1:4342162  0.000000  0.000000  0.000000  0.000000  0.000000
5  pos$chr1:4342918  0.000000  0.000000  0.000000  0.000000  0.000000
6  pos$chr1:4767729 -4.369234 -5.123382 -4.738768 -4.643856 -5.034646
7  pos$chr1:4772814 -3.841302 -3.891419 -4.025029 -3.643856 -3.184425
8  pos$chr1:4798063 -5.038919 -4.847997 -5.497187 -4.035624 -7.543032
9  pos$chr1:4798567 -4.735325 -5.096862 -3.882643 -3.227069 -4.983808
10 pos$chr1:4818730 -8.366322 -7.118941 -8.280771 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 cdf ecdf

2
推荐指数
1
解决办法
2363
查看次数

如何在seaborn ecdf图上找到axhline交点上的x值?

我有一个像这样的 ecdf 图:

penguins = sns.load_dataset("penguins")
fig, ax = plt.subplots(figsize = (10,8))
sns.ecdfplot(data=penguins, x="bill_length_mm", hue="species")
ax.axhline(.25, linestyle = '--', color ='#cfcfcf', lw = 2, alpha = 0.75)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何找到这条相交轴线上的x值?

python matplotlib ecdf seaborn

2
推荐指数
1
解决办法
1393
查看次数