R中事件的概率
Probability of an event in R
我有以下数据框:
我需要评估学生是“M”的概率,即。 e. P("M") 等于“M”的数量与 studenti 的数量之比。我是这样做的:
nStudenti <- length(studenti$sesso)
tabellaSesso <- table(studenti$sesso)
nMaschi <- tabellaSesso[names(tabellaSesso) == "M"]
P = nMaschi / nStudenti
这是最短的方法还是有简单的命令?
您可以使用 table()
获取绝对频率,然后使用 prop.table()
获取概率。如果您只对特定值感兴趣,例如 "M"
,您可以只索引该值。
# sample data
studenti <- data.frame(sesso = sample(c("M", "F", NA), 100, replace = TRUE))
# all probabilties
prop.table(table(studenti$sesso))
#>
#> F M
#> 0.530303 0.469697
# specfic probability
prop.table(table(studenti$sesso))["M"]
#> M
#> 0.469697
由 reprex package (v2.0.1)
于 2021-10-06 创建
您可以创建一个函数
#Function
propCond=function(VAR,MODALITY){
PROP=sum(VAR==MODALITY,na.rm=TRUE)/sum(!is.na(VAR),na.rm=TRUE)
return(PROP)
}
#Result
propCond(c("a","a","b"),"a")
我有以下数据框:
我需要评估学生是“M”的概率,即。 e. P("M") 等于“M”的数量与 studenti 的数量之比。我是这样做的:
nStudenti <- length(studenti$sesso)
tabellaSesso <- table(studenti$sesso)
nMaschi <- tabellaSesso[names(tabellaSesso) == "M"]
P = nMaschi / nStudenti
这是最短的方法还是有简单的命令?
您可以使用 table()
获取绝对频率,然后使用 prop.table()
获取概率。如果您只对特定值感兴趣,例如 "M"
,您可以只索引该值。
# sample data
studenti <- data.frame(sesso = sample(c("M", "F", NA), 100, replace = TRUE))
# all probabilties
prop.table(table(studenti$sesso))
#>
#> F M
#> 0.530303 0.469697
# specfic probability
prop.table(table(studenti$sesso))["M"]
#> M
#> 0.469697
由 reprex package (v2.0.1)
于 2021-10-06 创建您可以创建一个函数
#Function
propCond=function(VAR,MODALITY){
PROP=sum(VAR==MODALITY,na.rm=TRUE)/sum(!is.na(VAR),na.rm=TRUE)
return(PROP)
}
#Result
propCond(c("a","a","b"),"a")