首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从频率计算概率

如何从频率计算概率
EN

Stack Overflow用户
提问于 2015-07-27 07:31:46
回答 4查看 884关注 0票数 1

我将这个月储存为:

代码语言:javascript
复制
count.data <- count.month

x    freq
Jan   7
Feb   23
Mar   86
Apr   281

现在我想找出X的概率。

示例:

简属性的概率:7/ (7+23+86+281) #总freq

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-07-27 07:38:30

你可以试试这个。假设您的dat.frame名为dat

代码语言:javascript
复制
dat$prob <- dat$freq/sum(dat$freq)
dat
#x freq       prob
#1 Jan    7 0.01763224
#2 Feb   23 0.05793451
#3 Mar   86 0.21662469
#4 Apr  281 0.70780856
票数 4
EN

Stack Overflow用户

发布于 2015-07-27 07:40:48

或使用dplyr

代码语言:javascript
复制
 library(dplyr)
 df %>% mutate(prob = freq / sum(freq))
    x freq       prob
1 Jan    7 0.01763224
2 Feb   23 0.05793451
3 Mar   86 0.21662469
4 Apr  281 0.70780856
票数 3
EN

Stack Overflow用户

发布于 2015-07-27 07:46:07

代码语言:javascript
复制
df$prob <- prop.table(df$freq)
df

输出:

代码语言:javascript
复制
    x freq       prob
1 Jan    7 0.01763224
2 Feb   23 0.05793451
3 Mar   86 0.21662469
4 Apr  281 0.70780856

如果您想访问特定的月份:

代码语言:javascript
复制
 prop.table(df$freq)[df$x == "Feb"] 
[1] 0.05793451

sqldf包:

代码语言:javascript
复制
library(sqldf)
sqldf('SELECT x, freq, (freq*1.0)/(SELECT SUM(freq) FROM df) AS prob
      FROM df')
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31647279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档