示例函数R语言
你是怎么写的? 假设你有800人,其中300人是民主党人,400人是共和党人,100人是独立人士。 从这个人群中随机抽取10人,你希望得到多少民主党人 我写示例函数R语言,r,R,你是怎么写的? 假设你有800人,其中300人是民主党人,400人是共和党人,100人是独立人士。 从这个人群中随机抽取10人,你希望得到多少民主党人 我写 D<-1:300 I<-1:100 R<-1:400 Population<-c("D","I","R") table(sample(Population,size=10, replace= TRUE)) D创建总体: > population <- c(rep('Democrat', 300), r
D<-1:300
I<-1:100
R<-1:400
Population<-c("D","I","R")
table(sample(Population,size=10, replace= TRUE))
D创建总体:
> population <- c(rep('Democrat', 300), rep('Independent', 100), rep('Republican', 400))
您可以将概率权重向量添加到分析中
Population<-c("D","I","R")
t = table(sample(Population,size=10, replace= TRUE, prob = c(0.375, 0.125, 0.5)))
> t
D I R
3 1 6
总体t
D I R
3 1 6
当您从800人中提取10人时,您有选择(800,10)
不同的方法来提取他们,其中choose
是组合数。例如,如果您想知道提取N
民主党人的方法有多少,您可以获得choose(500,10-N)*choose(300,N)
,因为您在500人中有10-N
非民主党人,在300人中有N
民主党人。要获得概率,只需将上述两个值除以。一般而言:
N<-0:10
probs<-(choose(500,10-N)*choose(300,N))/choose(800,10)
#calculate the average number of Democrats
sum(probs*N)
#[1] 3.75
#calculate the standard deviation
sqrt(sum(probs*N^2)-3.75^2)
#[1] 1.522284
这是一个统计问题,而不是编程问题。您可能希望复制
,而不是sapply
。谢谢!我想把民主党变成一个数字是错误的,我应该数一数有多少个d
N<-0:10
probs<-(choose(500,10-N)*choose(300,N))/choose(800,10)
#calculate the average number of Democrats
sum(probs*N)
#[1] 3.75
#calculate the standard deviation
sqrt(sum(probs*N^2)-3.75^2)
#[1] 1.522284