# Python学生物统计---方差分析---学习笔记7

OLS: 最小二乘法

from scipy import stats

import pandas as pd

import numpy as npfrom statsmodels.formula.api

import olsfrom statsmodels.stats.anova

import anova_lmfrom statsmodels.stats.multicomp

import pairwise_tukeyhsdimport matplotlib.pyplot as plt

### 7.1 单因素方差分析

7.1.csv

dat1

Varietyrepy
0Ab115.3
1Bb118.0
2Cb116.6
3Db116.4
4Eb113.7
5Fb117.0
6Ab214.9
7Bb217.6
8Cb217.8
9Db217.3
10Eb213.6
11Fb217.6
12Ab316.2
13Bb318.6
14Cb317.6
15Db317.3
16Eb313.9
17Fb318.2
18Ab416.2
19Bb418.3
20Cb417.8
21Db417.8
22Eb414.0
23Fb417.5

• Variety 品种

• rep 重复

• y 产量

dat1 = pd.read_csv("7.1.csv")
dat1.head()

Varietyrepy
0Ab115.3
1Bb118.0
2Cb116.6
3Db116.4
4Eb113.7

model = ols('y ~ C(Variety)',dat1).fit()
anovat = anova_lm(model)
print(anovat)
              df     sum_sq    mean_sq          F        PR(>F)
C(Variety)   5.0  52.378333  10.475667  40.334118  3.662157e-09
Residual    18.0   4.675000   0.259722        NaN           NaN

### 7.2 二因素方差分析

7.2.csv

dat2 = pd.read_csv("7.2.csv")
dat2.head()

locculy
0AnnBH934.460
1AriBH934.417
2AugBH934.669
3CasBH934.732
4DelBH934.390

formula = 'y~ loc + cul'

anova_results = anova_lm(ols(formula,dat2).fit())

print(anova_results)
             df      sum_sq    mean_sq          F        PR(>F)
loc        17.0   22.671174   1.333598   9.087496  2.327448e-15
cul         8.0  114.536224  14.317028  97.560054  1.611882e-52
Residual  136.0   19.958126   0.146751        NaN           NaN

### 7.3 二因素有交互方差分析

7.3.csv

dat3 = pd.read_csv("7.3.csv")
dat3.head()

ABy
0A1b127
1A1b129
2A1b126
3A1b126
4A2b130

formula = 'y~C(A) + C(B) + C(A):C(B)'

anova_results = anova_lm(ols(formula,dat3).fit())

print(anova_results)
             df      sum_sq     mean_sq           F        PR(>F)
C(A)        2.0  315.833333  157.916667  129.204545  2.247182e-19
C(B)        4.0  207.166667   51.791667   42.375000  1.032420e-14
C(A):C(B)   8.0   50.333333    6.291667    5.147727  1.375790e-04
Residual   45.0   55.000000    1.222222         NaN           NaN

Python生物统计---前言及Flag---学习笔记1

Python学生物统计---为什么是统计---学习笔记2

Python学生物统计---Python基础---学习笔记3

Python学生物统计---数据导入---学习笔记4

http://blog.sciencenet.cn/blog-2577109-1143281.html

## 相关博文

GMT+8, 2021-1-25 10:41