这是我的数据集的屏幕截图:
它的含义是:假设您在一家送货公司工作,由于某种原因,包裹无法交付给客户。返回的包裹数量的分布根据包裹的货币价值而变化,包裹的货币价值是数据集的第一个变量(级别)。因此,B列代表该公司上个月出售的所有包装的分布,并按包装的价值分组。最后一列C代表由于某些条件(例如,危险邻域)而未能交付的包裹的分布。
我想在视觉上显示的是,此特定条件非常重要,以至于它更改了数据的分布。我使用Excel从原始数据计算这些百分比,因为不允许在工作中安装R。
我已经通过进行一些数据整理来完成下面的绘图,但是我想如果我知道如何做的话,我会做得更好:
编辑:有人告诉我发布数据集的dput版本:
structure(list(Levels = structure(c(6L, 11L, 12L, 13L, 1L, 2L,
3L, 4L, 5L, 7L, 8L, 9L, 10L), .Label = c("Less than $1000", "Less than $1200",
"Less than $1400", "Less than $1600", "Less than $1800", "Less than $200",
"Less than $2000", "Less than $2200", "Less than $2400", "Less than $2600",
"Less than $400", "Less than $600", "Less than $800"), class = "factor"),
X.ofTotal = c(0.3802, 0.2475, 0.1218, 0.0664, 0.0409, 0.0247,
0.0178, 0.016, 0.0099, 0.0109, 0.0061, 0.0063, 0.0063), X..ofTotalWithSomeCriteria = c(0.6087,
0.1957, 0.0652, 0.0435, 0, 0.0217, 0, 0, 0.0435, 0.0217,
0, 0, 0)), .Names = c("Levels", "X.ofTotal", "X..ofTotalWithSomeCriteria"
), class = "data.frame", row.names = c(NA, -13L))
>
最佳答案
我将绘制经验累积分布函数。这是有道理的,因为这两个函数的比较也是两个分布差异的显着性的Kolmogorov–Smirnov检验的基础。
至少有两个选项可以在R中绘制这些函数:
plot(ecdf(data$X.ofTotal),col="green",xlim=c(0,1),verticals = TRUE,main = "")
par(new=TRUE)
plot(ecdf(data$X..ofTotalWithSomeCriteria ),col="red",xlim=c(0,1),verticals = TRUE,main = "")
require( Hmisc )
l <- length(data$X..ofTotalWithSomeCriteria )
dataset <- c(rep("Total",l), rep("Criteria", l))
Ecdf(c(data$X.ofTotal, data$X..ofTotalWithSomeCriteria ), group=dataset, col=c('blue', 'red'))
关于python - 如何比较R中两个向量的分布?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30795463/