1

我有一个带有分类变量的data.frame,如下所示:

bird.data <- data.frame( id =  rep(2,500),
                          colour = sample(c("Red", "Blue", "Yellow", "Green"), 500, replace=T, c(0.15,0.45, 0.20, 0.20)),
                          size = sample(c("Large", "Medium","Small"), 500, replace = T, c(0.33,0.33, 0.33)),
                          texture = sample(c("Hard", "Soft"), 500, replace = T, prob = c(0.55,0.45))
)

有没有一种简单的方法可以P(colour,size,texture)使用 R 返回数据集的完整联合分布?对于上面的数据集,这将是一个具有维度的多维数据集:with(bird.data, levels(colour) * levels(size) * levels(texture))

例如,对于上面给出的数据集,我希望能够在多维数据集中存储如下所有信息:

# P(colour="Red", size="Small", texture= "Hard")
p_Red_Small_Hard <- nrow(bird.data[ bird.data$colour== "Red" & bird.data$size == "Small" & bird.data$texture =="Hard", ]) / nrow(bird.data)
4

0 回答 0