在
ggplot2
,为了在
x
或
y
一个美学的概念在分裂
data
(例如使用
group
或
color
长版本
我在想办法
ggplot
假设我们有一个人口,所有人都有一个隐藏的值。这些隐藏值的秩(因此CDF)是公开的。
my_data <- data.table(class = sort(rep(x = c('a','b','c'), times = 3)))
hidden <- c(10, 15, 80,
0, 50, 100,
5, 90, 95)
my_data[, rank := ecdf(hidden)(hidden)]
我可以使用总体CDF来推断类内的CDF。然后,我想将每个类的CDF与总体CDF进行对比,这有助于查看隐藏值在类之间的分布是否一致。
我最好的尝试
经过几次迭代后,我很惊讶这不起作用。我认为,通过设置在最高层次的审美群体,功能将以同样的方式应用的统计数据。相反,
ecdf(rank)(rank)
再次应用于整个列,这将导致
等于
十
.
ggplot(data = my_data, mapping = aes(color = class)) +
geom_line(mapping = aes(
x = rank,
y = ecdf(rank)(rank)
))
下面是一个在
颜色
.
ggplot(data = data, mapping = aes(color = class)) +
geom_density(mapping = aes(
x = rank,
y = ..scaled..
))
我最好的解决方法
by
从
data.table
),我可以在我的数据中添加一个额外的列来实现这一点。
data[, class_rank := ecdf(value)(value), class]
ggplot(data = data, mapping = aes(color = class)) +
geom_line(mapping = aes(
x = rank,
y = class_rank
))
GG2地块
已经做了很多很棒的东西,我觉得这是在那里,我只是找不到它。