在DataFrames和HypothesisTests包里都没有找到制作列联表的方法,求指点一下
using HypothesisTests
a = [123 467; 45 106]
ChisqTest(a)
julia> a = [123 467; 45 106]
2×2 Array{Int64,2}:
123 467
45 106
julia> res = ChisqTest(a)
Pearson's Chi-square Test
-------------------------
Population details:
parameter of interest: Multinomial Probabilities
value under h_0: [0.18052, 0.0462008, 0.615702, 0.157578]
point estimate: [0.165992, 0.0607287, 0.630229, 0.14305]
95% confidence interval: Tuple{Float64,Float64}[(0.1323, 0.2016), (0.027, 0.0963), (0.5965, 0.6658), (0.1093, 0.1786)]
Test summary:
outcome with 95% confidence: reject h_0
one-sided p-value: 0.0190
Details:
Sample size: 741
statistic: 5.497997391433829
degrees of freedom: 1
residuals: [-0.930786, 1.83987, 0.503996, -0.996242]
std. residuals: [-2.34478, 2.34478, 2.34478, -2.34478]
julia> pvalue(res)
0.019038264411292884
julia> confint(res)
4-element Array{Tuple{Float64,Float64},1}:
(0.13225371120107965, 0.20155691024539046)
(0.026990553306342778, 0.09629375235065364)
(0.5964912280701754, 0.6657944271144862)
(0.10931174089068825, 0.1786149399349991)
就是和 Python 算出来的对不上
>>> from scipy.stats import chi2_contingency
>>> import numpy as np
>>> obs = np.array([[123, 467], [45, 106]])
>>> obs
array([[123, 467],
[ 45, 106]])
>>> chi2_contingency(obs)
(
4.9991375285725805,
0.025359952825209843,
1,
array([[133.76518219, 456.23481781],
[ 34.23481781, 116.76518219]]))
a怎么从原始数据生成,Python里面有pandas.crosstab() ,Julia里面有哪个方法可以
julia> using DataFrames
julia> using FreqTables
julia> DataFrame(类别=["水果","水果","水果","蔬菜","蔬菜","肉类","肉类"],
产地=["美国","中国","中国","中国","新西兰","新 西兰","美国"],
水果=["苹果","梨","草莓","番茄","黄瓜","羊肉","牛肉"],
数量=[5,5,9,3,2,10,8],
价格=[5,5,10,3,3,13,20])
7×5 DataFrame
│ Row │ 类别 │ 产地 │ 水果 │ 数量 │ 价格 │
│ │ String │ String │ String │ Int64 │ Int64 │
├─────┼────────┼─────────┼────────┼───────┼───────┤
│ 1 │ 水果 │ 美国 │ 苹果 │ 5 │ 5 │
│ 2 │ 水果 │ 中国 │ 梨 │ 5 │ 5 │
│ 3 │ 水果 │ 中国 │ 草莓 │ 9 │ 10 │
│ 4 │ 蔬菜 │ 中国 │ 番茄 │ 3 │ 3 │
│ 5 │ 蔬菜 │ 新西兰 │ 黄瓜 │ 2 │ 3 │
│ 6 │ 肉类 │ 新 西兰 │ 羊肉 │ 10 │ 13 │
│ 7 │ 肉类 │ 美国 │ 牛肉 │ 8 │ 20 │
julia> 类别=["水果","水果","水果","蔬菜","蔬菜","肉类","肉类"]
7-element Array{String,1}:
"水果"
"水果"
"水果"
"蔬菜"
"蔬菜"
"肉类"
"肉类"
julia> 产地=["美国","中国","中国","中国","新西兰","新西兰","美国"]
7-element Array{String,1}:
"美国"
"中国"
"中国"
"中国"
"新西兰"
"新西兰"
"美国"
julia> freqtable(类别, 产地)
3×3 Named Array{Int64,2}
Dim1 ╲ Dim2 │ 中国 新西兰 美国
────────────┼──────────────
水果 │ 2 0 1
肉类 │ 0 1 1
蔬菜 │ 1 1 0
多谢指点,非常感激!
- JuliaStats/GLM.jl: Generalized linear models in Julia
- JuliaStats/MultivariateStats.jl: A Julia package for multivariate statistics and data analysis (e.g. dimension reduction)
看上去用第一个多一点
大兄弟,你这是怎么找的,我这每次都来问好麻烦
入门指引里有提到,两个找包的站
我一般就搜一下,上面那个回归的 julia Regression
做关键词 bing 国际版第一条 sf,内面也提到了 GLM 包;第二条就是 GLM 包的 github。
卡方检验哪个忘了关键词了,也是搜出来的
交叉表 先搜的 julia pandas.crosstab
看了 padans 的文档里提到这个也叫 frequency table
再搜 julia frequency tables
第一个就是想要的包了。
想请教您一下~在哪里可以找到 HypothesisTests这个包的文档呢?我想做F检验,但是在网上没有搜到相关的源码
https://juliastats.org/HypothesisTests.jl/stable/
找文档去Google搜包名,如HypothesisTests.jl
,一般会搜出GitHub仓库链接,然后readme里要么就是全部文档,要么会有个徽章:
点击打开文档。
Get!感谢您!