计算给定数据集(钻石)的概率

时间:2017-10-22 11:59:06

标签: r probability

我正在对名为Diamonds的数据集进行R编程问题。首先是为了安装和加载数据集。键入以下命令:

install.packages("ggplot2")
library(ggplot2)

你会得到这样的东西: type diamonds(or print diamonds)

好的,现在我正在研究一个概率问题。问题是:通过使用此表,计算随机选择的钻石的概率 颜色F和VS1清晰度。将您的答案四舍五入到小数点后四位

首先,我创建了clarity(在行中)和colour(在 ({1}}的列)。我使用该命令diamonds来创建表。这是表格的截图。 Frequency Table

现在通过使用此表,我需要计算随机选择的钻石table(diamonds$clarity, diamonds$color)colour == F的概率。
舍入到小数点后四位。

任何人都可以帮我解决这部分问题吗?我需要计算概率的函数或公式。

2 个答案:

答案 0 :(得分:0)

library(dplyr)
library(ggplot2)    
propTable <- round(prop.table(table(diamonds$clarity, diamonds$color)),4)
propTable <- as.data.frame(propTable)
str(propTable)
propTable %>% filter(Var1 == "VS1", Var2 =="F")

  Var1 Var2   Freq
1  VS1    F 0.0253

所以答案是0.0253。

编辑:我不必要地复杂化了。

round(prop.table(table(diamonds$clarity, diamonds$color)),4)["VS1","F"]

答案 1 :(得分:0)

如果你想计算两个独立事件A和B独立的概率,它是事件A和B的概率的乘积:

p(A and B) = p(A) * p(B)

在你的情况下,这将是钻石透明度为VS1的概率:

p_clarity_vs1 <- sum(diamonds$clarity == "VS1") / nrow(diamonds)

钻石颜色的概率&#34; F&#34;:

p_color_f <- sum(diamonds$color == "F") / nrow(diamonds)

因此,清晰度VS1和颜色F的概率:

p_clarity_vs1 * p_color_f
[1] 0.0267974