双因素方差分析(R)

2023-11-12

目录

原理

双因素等重复试验的方差分析

假设前提和模型设定

离差平方和分解

检验统计量和拒绝域

例题

应用

双因素无重复试验的方差分析

假设前提和模型设定

离差平方和分解

检验统计量和拒绝域

例题

应用


原理

单因素方差分析的基础上,双因素方差分析有两种类型,一种是无交互作用(双因素无重复试验)的双因素方差分析,一种是有交互作用(双因素等重复试验)的双因素方差分析。

双因素等重复试验的方差分析

假设前提和模型设定

设有交互作用的两个因素A,B作用于试验的指标,因素A有r个水平A_{1},A_{2},...,A_{r},因素B有s个水平B_{1},B_{2},...,B_{s},现对因素A,B的水平的每对组合(A_{i},B_{j}),i=1,2,...,r;j=1,2,...,s都作t(t\geq 2)次试验(成为等重复试验),得到结果:

因素 B_{1} B_{2} ... B_{s}
A_{1} \begin{aligned} X&_{111},X_{112},\\ &...,X_{11t} \end{aligned} \begin{aligned} X&_{121},X_{122},\\ &...,X_{12t} \end{aligned} ... \begin{aligned} X&_{1s1},X_{1s2},\\ &...,X_{1st} \end{aligned}
A_{2} \begin{aligned} X&_{211},X_{212},\\ &...,X_{21t} \end{aligned} \begin{aligned} X&_{221},X_{222},\\ &...,X_{22t} \end{aligned} ... \begin{aligned} X&_{2s1},X_{2s2},\\ &...,X_{2st} \end{aligned}
... ... ... ...
A_{r} \begin{aligned} X&_{r11},X_{r12},\\ &...,X_{r1t} \end{aligned} \begin{aligned} X&_{r21},X_{r22},\\ &...,X_{r2t} \end{aligned} ... \begin{aligned} X&_{rs1},X_{rs2},\\ &...,X_{rst} \end{aligned}

 由表可知,一共有r*s个总体,基于假设前提:

1.每个总体均服从正态分布,且方差相等,即,X_{ijk}\sim N(\mu_{ij},\sigma^{2}),i=1,2,...,r;j=1,2,...,s;k=1,2,...,t

 2.每个总体中抽取的样本相互独立

引入记号:

\mu=\frac{1}{rs}\sum^{r}_{i=1}\sum^{s}_{j=1}\mu_{ij}

\mu_{i\cdot }=\frac{1}{s}\sum_{j=1}^{s}\mu_{ij},i=1,2,...,r

\mu_{\cdot j}=\frac{1}{r}\sum_{i=1}^{r}\mu_{ij},j=1,2,...,s

\alpha_{i}=\mu_{i\cdot}-\mu,i=1,2,...,r

\beta_{i}=\mu_{\cdot j}-\mu,j=1,2,...,s

其中,\alpha_{i}A_{i}的效应,\beta_{j}B_{j}的效应,且

\sum^{r}_{i=1}\alpha_{i}=0

\sum^{s}_{j=1}\beta_{j}=0

\mu_{ij}表示为

\begin{aligned} \mu_{ij}&=\mu+\alpha_{i}+\beta_{j}+(\mu_{ij}-\mu_{i\cdot}-\mu_{\cdot j}+\mu)\\ &=\mu+\alpha_{i}+\beta_{j}+\gamma_{ij} \end{aligned}

其中,\gamma_{ij}=\mu_{ij}-\mu_{i\cdot}-\mu_{\cdot j}+\mu称为A_{i}因素水平和B_{j}因素水平的交互效应,且

\sum^{r}_{i=1}\gamma_{ij}=0

 \sum^{s}_{j=1}\gamma_{ij}=0

因此可把X_{ijk}写成X_{ijk}=\mu+\alpha_{i}+\beta_{j}+\gamma_{ij}+\varepsilon _{ij},其中\varepsilon _{ij}\sim N(0,\sigma^{2}),各\varepsilon_{ij}独立

对于这一模型,要检验以下三个假设:

\left\{\begin{matrix} H_{0}:\alpha_{1}=\alpha_{2}=...=\alpha_{r}=0\\ H_{1}:\alpha_{1},\alpha_{2},...,\alpha_{r}\,are\,not\, all\,0 \end{matrix}\right.

\left\{\begin{matrix} H_{0}:\beta_{1}=\beta_{2}=...=\beta_{s}=0\\ H_{1}:\beta_{1},\beta_{2},...,\beta_{s}\,are\,not\, all\,0 \end{matrix}\right.

\left\{\begin{matrix} H_{0}:\gamma_{1}=\gamma_{2}=...=\gamma_{k}=0\\ H_{1}:\gamma_{1},\gamma_{2},...,\gamma_{k}\,are\,not\, all\,0 \end{matrix}\right.

离差平方和分解

引入记号:

\overline{X}=\frac{1}{rst}\sum^{r}_{i=1}\sum^{s}_{j=1}\sum^{t}_{k=1}X_{ijk}

\overline{X}_{ij\cdot}=\frac{1}{t}\sum^{t}_{k=1}X_{ijk},i=1,2,...,r;j=1,2,...,s

\overline{X}_{i\cdot\cdot}=\frac{1}{st}\sum^{s}_{j=1}\sum^{t}_{k=1},i=1,2,...,r

\overline{X}_{\cdot j\cdot}=\frac{1}{rt}\sum^{r}_{i=1}\sum^{t}_{k=1},j=1,2,...,s

总离差平方和:

\begin{aligned} SST&=\sum^{r}_{i=1}\sum^{s}_{j=1}\sum^{t}_{k=1}(X_{ijk}-\overline{X})^{2}\\ &=\begin{aligned}&\sum^{r}_{i=1}\sum^{s}_{j=1}\sum^{t}_{k=1}[(X_{ijk}-\overline{X}_{ij\cdot})+(\overline{X}_{i\cdot\cdot}-\overline{X})+(\overline{X}_{\cdot j\cdot}-\overline{X})\\ &+(\overline{X}_{ij\cdot}-\overline{X}_{i\cdot\cdot}-\overline{X}_{\cdot j\cdot}-\overline{X})] \end{aligned}\\ &=\begin{aligned} &\sum^{r}_{i=1}\sum^{s}_{j=1}\sum^{t}_{k=1}(X_{ijk}-\overline{X})^{2}+st\sum^{r}_{i=1}(\overline{X}_{i\cdot\cdot}-\overline{X})^{2}\\ &+rt\sum^{r}_{i=1}(\overline{X}_{\cdot j\cdot}-\overline{X})^{2}+t\sum^{r}_{i=1}\sum^{s}_{j=1}(\overline{X}_{ij\cdot}-\overline{X}_{i\cdot\cdot}-\overline{X}_{\cdot j\cdot}-\overline{X})^{2} \end{aligned}\\ &=SSW+SSA+SSB+SSAB \end{aligned}

其中,

组内离差平方和为

SSW=\sum^{r}_{i=1}\sum^{s}_{j=1}\sum^{t}_{k=1}(X_{ijk}-\overline{X}_{ij\cdot})^{2}

因素A的效应平方和为

SSA=st\sum^{r}_{i=1}(\overline{X}_{i\cdot\cdot}-\overline{X})^{2}

因素B的效应平方和为

SSB=rt\sum^{s}_{j=1}(\overline{X}_{\cdot j\cdot}-\overline{X})^{2}

因素A、B交互效应平方和为

SSAB=t\sum^{r}_{i=1}\sum^{s}_{j=1}(\overline{X}_{ij\cdot}-\overline{X}_{i\cdot\cdot}-\overline{X}_{\cdot j\cdot}-\overline{X})^{2}

在实际计算中,可以使用以下公式简便计算:

T_{\cdot\cdot\cdot}=\sum^{r}_{i=1}\sum^{s}_{j=1}\sum^{t}_{k=1}X_{ijk}

T_{ij\cdot}=\sum^{t}_{k=1}X_{ijk}

T_{i\cdot\cdot}=\sum^{s}_{j=1}\sum^{t}_{k=1}X_{ijk}

T_{\cdot j\cdot}=\sum^{r}_{i=1}\sum^{t}_{k=1}X_{ijk}

计算

SST=\sum^{r}_{i=1}\sum^{s}_{j=1}\sum^{t}_{k=1}X_{ijk}^{2}-\frac{T^{2}_{\cdot\cdot\cdot}}{rst}

SSA=\frac{1}{st}\sum^{r}_{i=1}T_{i\cdot\cdot}^{2}-\frac{T^{2}_{\cdot\cdot\cdot}}{rst}

SSB=\frac{1}{rt}\sum^{s}_{j=1}T_{\cdot j\cdot}^{2}-\frac{T^{2}_{\cdot\cdot\cdot}}{rst}

SSAB=(\frac{1}{t}\sum^{r}_{i=1}\sum^{s}_{j=1}T_{ij\cdot}^{2}-\frac{T^{2}_{\cdot\cdot\cdot}}{rst})-SSA-SSB

SSW=SST-SSA-SSB-SSAB

检验统计量和拒绝域

上述离差平方和的统计特性为

离差平方和 自由度 均值估计量
SST rst-1
SSW rs(t-1) E(\frac{SSW}{rs(t-1)})=\sigma^{2}
SSA r-1 E(\frac{SSA}{r-1})=\sigma^{2}+\frac{st\sum^{r}_{i=1}\alpha_{i}^{2}}{r-1}
SSB s-1 E(\frac{SSB}{s-1})=\sigma^{2}+\frac{rt\sum^{s}_{j=1}\beta_{j}^{2}}{s-1}
SSAB (r-1)(s-1) E(\frac{SSAB}{(r-1)(s-1)})=\sigma^{2}+\frac{t\sum^{r}_{i=1}\sum^{s}_{j=1}\gamma_{ij}^{2}}{(r-1)(s-1)}

H_{0}:\alpha_{1}=\alpha_{2}=...=\alpha_{r}=0为真时,

E(\frac{SSA}{r-1})=\sigma^{2}

\frac{SSA}{\sigma^{2}}\sim \chi^{2}(r-1)

F_{A}=\frac{\frac{SSA}{\sigma^{2}(r-1)}}{\frac{SSW}{\sigma^{2}rs(t-1)}}=\frac{\frac{SSA}{(r-1)}}{\frac{SSW}{rs(t-1)}}\sim F((r-1),rs(t-1))

故拒绝域为

F_{A}=\frac{\frac{SSA}{\sigma^{2}(r-1)}}{\frac{SSW}{\sigma^{2}rs(t-1)}}=\frac{\frac{SSA}{(r-1)}}{\frac{SSW}{rs(t-1)}}\geq F_{\alpha}((r-1),rs(t-1))

类似地,假设H_{0}:\beta_{1}=\beta_{2}=...=\beta_{s}=0的拒绝域为

F_{B}=\frac{\frac{SSB}{(s-1)}}{\frac{SSW}{rs(t-1)}}\geq F_{\alpha}((s-1),rs(t-1))

假设H_{0}:\gamma_{1}=\gamma_{2}=...=\gamma_{k}=0的拒绝域为

F_{AB}=\frac{\frac{SSAB}{(r-1)(s-1)}}{\frac{SW}{rs(t-1)}}\geq F_{\alpha}((r-1)(s-1),rs(t-1))

双因素等重复试验的方差分析表
方差来源 离差平方和 自由度 均方 F比
因素A SSA r-1 \overline{SSA}=\frac{SSA}{r-1} F_{A}=\frac{\overline{SSA}}{\overline{SSW}}
因素B SSB s-1 \overline{SSB}=\frac{SSB}{s-1} F_{B}=\frac{\overline{SSB}}{\overline{SSW}}
交互作用 SSAB (r-1)(s-1) \overline{SSAB}=\frac{SSAB}{(r-1)(s-1)} F_{AB}=\frac{\overline{SSAB}}{\overline{SSW}}
误差 SSW rs(t-1) \overline{SSW}=\frac{SSW}{rs(t-1)}
总和 SST rst-1

例题

一火箭使用四种燃料A,三种推进器B作射程试验,每种燃料与每种推进器的组合各发射火箭两次,得到射程结果服从双因素方差分析假设条件(以海里计),检验两个因素及交互效应是否显著

B1=c(58.2,52.6,49.1,42.8,60.1,58.3,75.8,71.5)
B2=c(56.2,41.2,54.1,50.5,70.9,73.2,58.2,51.0)
B3=c(65.3,60.8,51.6,48.4,39.2,40.7,48.7,41.4)
d=cbind(B1,B2,B3)
data=data.frame(d)
rownames(data)=c("A1","A1*","A2","A2*",
                 "A3","A3*","A4","A4*")
r=4
s=3
t=2
n=24
Xbar=mean(c(mean(data$B1),mean(data$B2),mean(data$B3)))
SST=sum((c(data$B1,data$B2,data$B3)-Xbar)**2)
tdata=data.frame(t(data))
SSA=s*t*((mean(c(tdata$A1,tdata$A1.))-Xbar)**2+
  (mean(c(tdata$A2,tdata$A2.))-Xbar)**2+
  (mean(c(tdata$A3,tdata$A3.))-Xbar)**2+
  (mean(c(tdata$A4,tdata$A4.))-Xbar)**2)
SSB=r*t*((mean(data$B1)-Xbar)**2+
       (mean(data$B2)-Xbar)**2+
       (mean(data$B3)-Xbar)**2)
SSAB=0
m=function(rc,sc){
  #引入目标数组函数简化代码,前述计算也可以用这个函数
  y=c()
  for(i in rc){
    for(j in sc){
      y=c(y,data[t*i-1,j],data[t*i,j])
    }
  }
  return(y)
}
for(i in 1:r){
  for(j in 1:s){
    Xijbar=mean(m(i,j))
    Xibar=mean(m(i,c(1,2,3)))
    Xjbar=mean(m(c(1,2,3,4),j))
    Xbar=mean(m(c(1,2,3,4),c(1,2,3)))
    SSAB=SSAB+(Xijbar-Xibar-Xjbar+Xbar)**2
  }
}
SSAB=t*SSAB
SSW=SST-SSA-SSB-SSAB
tab1=data.frame(matrix(nrow = 5,ncol = 5))
colnames(tab1)=c("方差来源","偏差平方和","自由度",
                 "均方","F比")
tab1[1,1]="因素A"
tab1[2,1]="因素B"
tab1[3,1]="交互作用"
tab1[4,1]="误差"
tab1[5,1]="总和"
tab1[1,2]=SSA
tab1[2,2]=SSB
tab1[3,2]=SSAB
tab1[4,2]=SSW
tab1[5,2]=SST
tab1[1,3]=r-1
tab1[2,3]=s-1
tab1[3,3]=(r-1)*(s-1)
tab1[4,3]=r*s*(t-1)
tab1[5,3]=r*s*t-1
tab1[1,4]=SSA/(r-1)
tab1[2,4]=SSB/(s-1)
tab1[3,4]=SSAB/((r-1)*(s-1))
tab1[4,4]=SSW/(r*s*(t-1))
tab1[1,5]=tab1[1,4]/tab1[4,4]
tab1[2,5]=tab1[2,4]/tab1[4,4]
tab1[3,5]=tab1[3,4]/tab1[4,4]
qf(1-0.05,r-1,r*s*(t-1))
qf(1-0.05,s-1,r*s*(t-1))
qf(1-0.05,(r-1)*(s-1),r*s*(t-1))

 

 由于

F_{A}=4.417388>F_{0.05}(3,12)=3.490295

F_{B}=9.393902>F_{0.05}(2,12)=3.885294

F_{AB}=14.928825>F_{0.05}(6,12)=2.99612

所以因素A,B及其交互效应都显著。

应用

A=c("A1","A1","A2","A2","A3","A3","A4","A4")
mdat=data.frame(A,B1,B2,B3)
library(reshape2)
mdata=melt(mdat,
           id.vars = "A",
           measure.vars = c("B1","B2","B3"),
           variable.name = "B",
           value.name = "range")
aov=aov(range~A+B+A*B,data=mdata)
summary(aov)

双因素无重复试验的方差分析

假设前提和模型设定

如果在实际问题中,已经知道因素A、B不存在交互作用,就可以对每一个组合(A_{i},B_{j})只做一次试验,得到实验结果

因素 B_{1} B_{2} ... B_{s}
A_{1} X_{11} X_{12} ... X_{1s}
A_{2} X_{21} X_{22} ... X_{2s}
... ... ... ... ...
A_{r} X_{r1} X_{r2} ... X_{rs}

 由表可知,一共有r*s个样本数据,基于假设前提:

1.每个样本数据均服从正态分布,且方差相等,即,

X_{ij}\sim N(\mu_{ij},\sigma^{2}),i=1,2,...,r;j=1,2,...,s

 2.每个样本数据X_{ij}相互独立

沿用上一试验的记号,由于不存在交互作用,\gamma_{ij}=0,于是

\mu_{ij}=\mu+\alpha_{i}+\beta_{j}

X_{ij}=\mu+\alpha_{i}+\beta_{j}+\varepsilon_{ij},其中\varepsilon_{ij}\sim N(0,\sigma^{2})且各\varepsilon_{ij}独立

所需检验的假设为:

 \left\{\begin{matrix} H_{0}:\alpha_{1}=\alpha_{2}=...=\alpha_{r}=0\\ H_{1}:\alpha_{1},\alpha_{2},...,\alpha_{r}\,are\,not\, all\,0 \end{matrix}\right.

\left\{\begin{matrix} H_{0}:\beta_{1}=\beta_{2}=...=\beta_{s}=0\\ H_{1}:\beta_{1},\beta_{2},...,\beta_{s}\,are\,not\, all\,0 \end{matrix}\right.

离差平方和分解

总离差平方和为

\begin{aligned} SST&=\sum^{r}_{i=1}\sum^{s}_{j=1}(X_{ij}-\overline{X})^{2}\\ &=\sum^{r}_{i=1}\sum^{s}_{j=1}[(\overline{X}_{i\cdot}-\overline{X})+(\overline{X}_{\cdot j}-\overline{X})+\\ &\,\,\,\,\,\,\,\,(X_{ij}-\overline{X}_{i\cdot}-\overline{X}_{\cdot j}+\overline{X})]^{2}\\ &=s\sum^{r}_{i=1}(\overline{X}_{i\cdot}-\overline{X})^{2}+r\sum^{s}_{j=1}(\overline{X}_{\cdot j}-\overline{X})^{2}+\\ &\,\,\,\,\,\,\,\sum^{r}_{i=1}\sum^{s}_{j=1}(X_{ij}-\overline{X}_{i\cdot}-\overline{X}_{\cdot j}+\overline{X})^{2} \\ &=SSA+SSB+SSW\end{aligned}

因素A的效应平方和为

SSA=s\sum^{r}_{i=1}(\overline{X}_{i\cdot}-\overline{X})^{2}

因素B的效应平方和为

SSB=r\sum^{s}_{j=1}(\overline{X}_{\cdot j}-\overline{X})^{2}

组内离差平方和为

SSW=\sum^{r}_{i=1}\sum^{s}_{j=1}(X_{ij}-\overline{X}_{i\cdot}-\overline{X}_{\cdot j}+\overline{X})^{2}

为简便计算,可先计算其他离差平方和,再计算SSW

检验统计量和拒绝域

上述离差平方和的统计特性为

离差平方和 自由度 均值估计量
SST rs-1
SSA r-1

E(\frac{SSA}{r-1})=\sigma^{2}+\frac{s\sum^{r}_{i=1}\alpha_{i}^{2}}{r-1}

SSB s-1

E(\frac{SSB}{s-1})=\sigma^{2}+\frac{r\sum^{s}_{j=1}\beta_{j}^{2}}{s-1}

SSW (r-1)(s-1)

E(\frac{SSW}{(r-1)(s-1)})=\sigma^{2}

假设H_{0}:\alpha_{1}=\alpha_{2}=...=\alpha_{r}=0的拒绝域为

F_{A}=\frac{\frac{SSA}{\sigma^{2}(r-1)}}{\frac{SSW}{\sigma^{2}(r-1)(s-1)}}=\frac{\frac{SSA}{(r-1)}}{\frac{SSW}{(r-1)(s-1)}}\geq F_{\alpha}((r-1),(r-1)(s-1))

假设H_{0}:\beta_{1}=\beta_{2}=...=\beta_{s}=0的拒绝域为

F_{B}=\frac{\frac{SSB}{(s-1)}}{\frac{SSW}{(r-1)(s-1)}}\geq F_{\alpha}((s-1),(r-1)(s-1))

双因素无重复试验的方差分析表
方差来源 离差平方和 自由度 均方 F比
因素A SSA r-1 \overline{SSA}=\frac{SSA}{r-1} F_{A}=\frac{\overline{SSA}}{\overline{SSW}}
因素B SSB s-1 \overline{SSB}=\frac{SSB}{s-1} F_{B}=\frac{\overline{SSB}}{\overline{SSW}}
误差 SSW (r-1)(s-1)

\overline{SSW}=\frac{SSW}{(r-1)(s-1)}

总和 SST rs-1

例题

有5个不同时间A_{i}、4个不同地点B_{j}空气中的颗粒物的含量(以mg/m^{3}计)的数据,符合假设前提,检验是否显著

B1=c(76,82,68,63)
B2=c(67,69,59,56)
B3=c(81,96,67,64)
B4=c(56,59,54,58)
B5=c(51,70,42,37)
data2=data.frame(B1,B2,B3,B4,B5)
rowname=c("A1","A2","A3","A4")
rownames(data2)=rowname
r=dim(data2)[1]
s=dim(data2)[2]
n=r*s
m=function(rc,sc){
  y=c()
  for(i in rc){
    for(j in sc){
      y=c(y,data2[i,j])
    }
  }
  return(y)
}
data2[5,1]=sum(m(1:r,1))
data2[5,2]=sum(m(1:r,2))
data2[5,3]=sum(m(1:r,3))
data2[5,4]=sum(m(1:r,4))
data2[5,5]=sum(m(1:r,5))
rownames(data2)=c(rowname,"Tj")
Ti=c()
for(i in 1:(r+1)){
  Ti=c(Ti,sum(m(i,1:s)))
}
data2$Ti=Ti
SST=sum(m(1:r,1:s)**2)-(sum(m(1:r,1:s))**2)/r/s
SSA=sum(m(1:r,6)**2)/s-(sum(m(1:r,1:s))**2)/r/s
SSB=sum(m(5,1:s)**2)/r-(sum(m(1:r,1:s))**2)/r/s
SSW=SST-SSA-SSB
tab2=data.frame(matrix(nrow = 4,ncol = 5))
colnames(tab2)=c("方差来源","平方和","自由度","均方","F比")
tab2[1,1]="因素A"
tab2[2,1]="因素B"
tab2[3,1]="误差"
tab2[4,1]="总和"
tab2[1,2]=SSA
tab2[2,2]=SSB
tab2[3,2]=SSW
tab2[4,2]=SST
tab2[1,3]=r-1
tab2[2,3]=s-1
tab2[3,3]=(r-1)*(s-1)
tab2[4,3]=r*s-1
tab2[1,4]=tab2[1,2]/tab2[1,3]
tab2[2,4]=tab2[2,2]/tab2[2,3]
tab2[3,4]=tab2[3,2]/tab2[3,3]
tab2[1,5]=tab2[1,4]/tab2[3,4]
tab2[2,5]=tab2[2,4]/tab2[3,4]
qf(1-0.05,r-1,(r-1)*(s-1))
qf(1-0.05,s-1,(r-1)*(s-1))

 由于

F_{A}=10.72241>F_{0.05}(3,12)=3.490295

F_{B}=13.23929>F_{0.05}(4,12)=3.259167

所以因素A、B都显著。

应用

library(reshape2)
month=c("A1","A2","A3","A4")
Dat2=data.frame(month,B1,B2,B3,B4,B5)
rdata2=melt(Dat2,
            id.vars = "month",
            measure.vars = c("B1","B2","B3","B4","B5"),
            variable.name = "province",
            value.name = "concentration")
aov=aov(concentration~month+province,
  data=rdata2)
summary(aov)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

双因素方差分析(R) 的相关文章

随机推荐

  • windows azure系统简介

    Windows Azure Storage 云存储系统 提供给用户 貌似无限容量的数据存储 貌似可保存任意长的时间 数据按副本存放 本地副本 容忍设备故障 广域副本 容忍地域灾难 强一致性 待看 Azure存储系统的元素包括三种 Blobs
  • 随机抽奖程序(每天一个python小项目)

    import random num 用于存放抽奖码 print 欢迎来到抽奖小程序 while True usernum input 请输入参与抽奖的人数 reward input 请输入中奖人数 if usernum isdigit Tr
  • Python+Selenium-20-图片验证码处理

    前言 有些注册页面会含有验证码 本篇描述在selenium中对验证码的处理实例 需求 打开万维易源注册页面 https www showapi com auth reg 这个是第三方api平台易源接口 后面验证码识别用的就是他的 在注册页面
  • 【HBZ分享】ES索引分片的写入原理 及 流程

    当一条数据写到ES要经历哪些过程 当插入一条新的数据时 数据会进入Translog 和 MemoryBuffer两个内存中 并添加了事务日志 此时该文档不可查询 当translog大到一定程度时 会发生一个commit操作 也就是全量提交
  • python数据清洗 —— re.split()划分字符串

    需求 对于一行字符串 route views6 routeviews org 141694 2a0c b641 24f fffe 7 184891 CN apnic OTAKUJAPAN AS Otaku Limited CN 要将其划分成
  • CMD 命令行实现 Windows 下复制文件到文件夹下的所有文件夹

    目录 前言 1 学习 xcopy 2 展示命令行 前言 提示 这里可以添加本文要记录的大概内容 整件事情真是花了我大半天的时间 几个小时啊 终于从错误中尝试出了正确的做法 赶紧分享一下 1 学习 xcopy Win R 调出运行 键入 cm
  • ElasticSearch简介

    ElasticSearch是Java开发并且是当前最流行的开源的企业级搜索引擎 能够达到近实时搜索 稳定可靠快速安装使用方便 客户端支持Java net各种编程语言 ElasticSearch通Lucene的比较 Lucene只能在Java
  • MAC安装LLVM指导

    首先克隆llvm github工程代码 下载有时出现中断失败 git clone https github com llvm llvm project git 安装依赖软件 安装 ninja 也可以通过编译方式安装 brew install
  • 微信公众号内下载pdf等文件,受微信所限制,安卓和IOS不同处理方式(最最最优版)

    继上一篇文章微信公众号内下载pdf等文件 受微信所限制 安卓和IOS不同处理方式 后觉得还有更好的解决办法 这次真的找到更加优化版本 一定需要后台配合才行 后台接口返回Blob 后端设置response setHeader Content
  • OPC通信从入门到精通_1_OPC基础知识及简单C#程序编写(OPCDA,OPCUA简介;OPC通信数据流框架图;C#程序编写)

    文章目录 1 OPC基础知识 OPCDA OPCUA 1 1 OPC基础知识 1 2 OPC通信读写方式 2 OPC通信仿真 2 1 上位机与PLC通过ModbusTCP直接通信 2 2 OPC通信介绍及实例 2 2 1 OPC通信与Mod
  • TCP报文格式

    TCP报文格式 文章目录 TCP报文格式 TCP首部 三次握手 四次挥手 TCP首部 源端口和目的端口 各占16bit 序号 SEQ序号 给发送的每个数据包标上序号 确认号 ACK序号 是指即将接收的数据包序号 注意 这里指的是序号不是标志
  • Linux 之软中断softirq

    版权声明 本文为博主原创文章 未经博主允许不得转载 https blog csdn net huangweiqing80 article details 83274095 softirq驱动开发人员一般都不会用到 到内核代码中会用到soft
  • python requests get请求_Python接口自动化之requests请求封装

    今天距2021年253天 这是ITester软件测试小栈第114次推文 在上一篇Python接口自动化测试系列文章 Python接口自动化之Token详解及应用 介绍token基本概念 运行原理及在自动化中接口如何携带token进行访问 以
  • docker内存

    docker container 动态修改内存限制 docker update help docker update m 4096m memory swap 1 ubuntu test docker update m 4096m memor
  • FPGA中的output or inout port xxx must be connected to a structural net expression错误

    主模块的output不能加reg 只在子模块的output 加reg 关于子模块调用 有两种调用方式 第一种是位置对应 如 bcd accbcd in8 out71 ou72 out73 如上图所示 第二种是信号名对应方式 此时不必按顺序
  • 数据结构---栈&&队列

    目录 什么是数据结构 什么是算法 Algorithm 生活中的数据结构和算法 数组结构 栈结构 stack 栈结构的实现 十进制转二进制 队列结构 Queue 队列的应用 对列类的创建 击鼓传花面试题 优先级队列 优先级队列的实现 什么是数
  • C语言中排序函数的用法

    C语言中没有预置的sort函数 如果在C语言中 遇到有调用sort函数 就是自定义的一个函数 功能一般用于排序 一 可以编写自己的sort函数 如下函数为将整型数组从小到大排序 void sort int a int l a为数组地址 l为
  • TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比

    转 http www leiphone com news 201702 T5e31Y2ZpeG1ZtaN html 雷锋网按 本文作者黄文坚 PPmoney 大数据算法总监 TensorFlow 实战 作者 本文节选自 TensorFlow
  • SQL Server日期格式的多种转换方法

    MSSQL Server的日期字段是datetime 其默认格式是yyyy mm dd hh mm ss mmm 如在查询分析器里面执行 select getdate 会得到如下结果 2006 03 30 22 09 33 763 但对于我
  • 双因素方差分析(R)

    目录 原理 双因素等重复试验的方差分析 假设前提和模型设定 离差平方和分解 检验统计量和拒绝域 例题 应用 双因素无重复试验的方差分析 假设前提和模型设定 离差平方和分解 检验统计量和拒绝域 例题 应用 原理 在单因素方差分析的基础上 双因