如何计算给定R中数据集的概率?

时间:2017-10-17 01:45:47

标签: r probability probability-density

我有一个值为分布未知的向量,我想用我所拥有的值的概率创建另一个向量。 例如

我有

v <- c(e1, e2, ... , ei)

我想创建

p <- c(P(e1), P(e2), ... , P(ei)) 

我怎样才能在R?中做到这一点?

1 个答案:

答案 0 :(得分:1)

由于您想要创建一个与值向量长度相同的向量,您可以执行以下操作:

p <- sapply(v, function(x) length(which(x == v))/length(v))

示例使用字母作为值

set.seed(123)
v = sample(letters[1:4], 10, replace = TRUE)

p <- sapply(v, function(x) length(which(x == v))/length(v))
p
#>   b   d   b   d   d   a   c   d   c   b 
#> 0.3 0.4 0.3 0.4 0.4 0.1 0.2 0.4 0.2 0.3