我从数据集中选择了两个大小为100的样本:
我想使用?2(拟合优度)将每个样本与真实分布进行比较。
这是我尝试过的:
tbl = table(hs$general_grade)
round(prop.table(tbl),2)
sample1 = sample(hs$general_grade, 100)
sample2 = sample(hs$general_grade, 100, prob = hs$general_grade)
tbl1 = table(sample1)
round(prop.table(tbl1),2)
tbl2 = table(sample2)
round(prop.table(tbl2),2)
chisq.test(tbl1,p = prop.table(tbl))
chisq.test(tbl2,p = prop.table(tbl))
它是输出:
real distribution:
1 2 3
0.11 0.82 0.08
sample1 distribution:
1 2 3
0.14 0.75 0.11
sample2 distribution:
1 2 3
0.05 0.84 0.11
Chi-squared test for given probabilities
data: tbl1
X-squared = 3.125, df = 2, p-value = 0.2096
Chi-squared test for given probabilities
data: tbl2
X-squared = 4.6557, df = 2, p-value = 0.0975
我期望tbl2的p值会更少,因为我将它设为bais。但是,我不确定如何使R中的样本产生偏差。我的方法正确吗?