方差分析,是统计中的基础分析方法,也是我们在分析数据时经常使用的方法。下面我总结一下R语言如何对常用的方差分析进行操作。

1. 方差分析的假定

上面这个思维导图,也可以看出,方差分析有三大假定:正态,独立和齐次,如果不满足,可以使用广义线性模型或者混合线性模型,或者广义线性混合模型去分析。

「本次我们的主题有:」

2. 数据来源

这里,我们使用的数据来源于R包agridat,它是讲农业相关的论文,书籍中相关的数据收集在了一起,更加符合我们的背景。

「包的介绍」❝ 「agridat: Agricultural Datasets」 Datasets from books, papers, and websites related to agriculture. Example graphics and analyses are included. Data come from small-plot trials, multi-environment trials, uniformity trials, yield monitors, and more.

「包的安装方式:」

install.packages("agridat")

3. 单因素方差分析❝ 比如一个处理有A,B,C三个水平,观测值y,想看一下这个处理是否达到显著性水平,这就可以用到方差分析了。

「数据描述:」❝ Corn yield and nitrogen fertilizer treatment with field characteristics for the Las Rosas farm, Rio Cuarto, Cordoba, Argentina.

data(lasrosas.corn)

dat

str(dat)

「数据结构:」

> str(dat)

'data.frame': 3443 obs. of 9 variables:

$ year : int 1999 1999 1999 1999 1999 1999 1999 1999 1999 1999 ...

$ lat : num -33.1 -33.1 -33.1 -33.1 -33.1 ...

$ long : num -63.8 -63.8 -63.8 -63.8 -63.8 ...

$ yield: num 72.1 73.8 77.2 76.3 75.5 ...

$ nitro: num 132 132 132 132 132 ...

$ topo : Factor w/ 4 levels "E","HT","LO",..: 4 4 4 4 4 4 4 4 4 4 ...

$ bv : num 163 170 168 177 171 ...

$ rep : Factor w/ 3 levels "R1","R2","R3": 1 1 1 1 1 1 1 1 1 1 ...

$ nf : Factor w/ 6 levels "N0","N1","N2",..: 6 6 6 6 6 6 6 6 6 6 ...

这里数据有很多列,但是我们要演示单因素方差分析,这里的因素为nf,自变量(Y变量)是yield,想要看一下nf的不同水平是否达到显著性差异。

「建模:」 Y变量:yield 因子:nf

「R中的建模代码:」

m1 = aov(yield ~ nf, data=dat)m1为模型保存的名称

aov为R中的方差分析代码

yield为数据中的Y变量,这里是yield

~,波浪号前面为Y变量,后面为X变量

nf为分析的因子变量

dat为数据

「结果:」

> m1 = aov(yield ~ nf, data=dat)

> summary(m1)

Df Sum Sq Mean Sq F value Pr(>F)

nf 5 23987 4797 12.4 6.08e-12 ***

Residuals 3437 1330110 387

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

结果可以看出,nf之间达到极显著水平,可以进行多重比较。

「方差分析的显著性和多重比较有何关系???」❝ 方差分析,一般会得到显著性(即P值小于0.05,说明显著,小于0.01,说明极显著,大于0.05,说明不显著),显著的意思是因素之间至少有一对水平达到显著性差异,具体是那一对呢?有几对呢?这就需要用到多重比较。所以,多重比较是在方差分析达到显著性之后进行的,只有显著了(P值小于0.05)才有能进行多重比较。多重比较的方法有很多,比如LSD,Tukey,Bonferroni,Holm等等,我们后面系统的介绍。

4. 单因素随机区组

这里区组的设置,可以控制一些环境误差。

「数据描述:」❝ Switchback trial in dairy with three treatments

data(lucas.switchback)

dat

str(dat)

「数据结构:」

> str(dat)

'data.frame': 36 obs. of 5 variables:

$ cow : Factor w/ 12 levels "C1","C10","C11",..: 1 5 6 7 8 9 10 11 12 2 ...

$ trt : Factor w/ 3 levels "T1","T2","T3": 1 2 3 1 2 3 1 2 3 1 ...

$ period: Factor w/ 3 levels "P1","P2","P3": 1 1 1 1 1 1 1 1 1 1 ...

$ yield : num 34.6 22.8 32.9 48.9 21.8 25.4 30.4 35.2 30.8 38.7 ...

$ block : Factor w/ 3 levels "B1","B2","B3": 1 1 1 1 1 1 2 2 2 3 ...

「建模:」 Y变量:yield 因子:trt 区组:block

「R中的建模代码:」

m2 = aov(yield ~ block +trt, data=dat)

summary(m2)

「结果:」

> summary(m2)

Df Sum Sq Mean Sq F value Pr(>F)

block 2 30.9 15.46 0.306 0.7385

trt 2 273.8 136.88 2.709 0.0823 .

Residuals 31 1566.1 50.52

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

结果可以看出,trt之间达到没有极显著水平。

5. 二因素方差分析(无交互)

这里区组的设置,可以控制一些环境误差。

无交互的意思是,二因素之间不考虑互作。

「数据描述:」❝ Switchback trial in dairy with three treatments

data(lucas.switchback)

dat

str(dat)

「数据结构:」

> str(dat)

'data.frame': 36 obs. of 5 variables:

$ cow : Factor w/ 12 levels "C1","C10","C11",..: 1 5 6 7 8 9 10 11 12 2 ...

$ trt : Factor w/ 3 levels "T1","T2","T3": 1 2 3 1 2 3 1 2 3 1 ...

$ period: Factor w/ 3 levels "P1","P2","P3": 1 1 1 1 1 1 1 1 1 1 ...

$ yield : num 34.6 22.8 32.9 48.9 21.8 25.4 30.4 35.2 30.8 38.7 ...

$ block : Factor w/ 3 levels "B1","B2","B3": 1 1 1 1 1 1 2 2 2 3 ...

「建模:」Y变量:yield

因子1:trt

因子2:period

区组:block

「R中的建模代码:」

m3 = aov(yield ~ block +trt +period, data=dat)

summary(m3)

「结果:」

> summary(m3)

Df Sum Sq Mean Sq F value Pr(>F)

block 2 30.9 15.46 0.308 0.7374

trt 2 273.8 136.88 2.725 0.0823 .

period 2 109.5 54.74 1.090 0.3497

Residuals 29 1456.6 50.23

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

结果可以看出,trt之间达到没有极显著水平,period之间没有达到显著性水平。

6. 二因素方差分析(有交互)

这里区组的设置,可以控制一些环境误差。

交互的意思是,二因素之间考虑互作。

「数据描述:」❝ Switchback trial in dairy with three treatments

data(lucas.switchback)

dat

str(dat)

「数据结构:」

> str(dat)

'data.frame': 36 obs. of 5 variables:

$ cow : Factor w/ 12 levels "C1","C10","C11",..: 1 5 6 7 8 9 10 11 12 2 ...

$ trt : Factor w/ 3 levels "T1","T2","T3": 1 2 3 1 2 3 1 2 3 1 ...

$ period: Factor w/ 3 levels "P1","P2","P3": 1 1 1 1 1 1 1 1 1 1 ...

$ yield : num 34.6 22.8 32.9 48.9 21.8 25.4 30.4 35.2 30.8 38.7 ...

$ block : Factor w/ 3 levels "B1","B2","B3": 1 1 1 1 1 1 2 2 2 3 ...

「建模:」Y变量:yield

因子1:trt

因子2:period

区组:block

「R中的建模代码:」

m4 = aov(yield ~ block +trt*period, data=dat)

summary(m4)

注意,这里的trt*period是R中公式的简写,表示trt + period + trt:period,其中trt:period表示互作效应。

「结果:」

> summary(m4)

Df Sum Sq Mean Sq F value Pr(>F)

block 2 30.9 15.46 0.339 0.7160

trt 2 273.8 136.88 2.997 0.0681 .

period 2 109.5 54.74 1.199 0.3183

trt:period 4 315.0 78.75 1.725 0.1761

Residuals 25 1141.6 45.66

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

结果可以看出,trt之间达到没有极显著水平,period之间没有达到显著性水平,trt和period交互没有达到显著水平。

7. 多因素方差分析

这里区组的设置,可以控制一些环境误差。

多于两个因素的方差分析

「数据描述:」❝ Switchback trial in dairy with three treatments

data(lucas.switchback)

dat

str(dat)

「数据结构:」

> str(dat)

'data.frame': 36 obs. of 5 variables:

$ cow : Factor w/ 12 levels "C1","C10","C11",..: 1 5 6 7 8 9 10 11 12 2 ...

$ trt : Factor w/ 3 levels "T1","T2","T3": 1 2 3 1 2 3 1 2 3 1 ...

$ period: Factor w/ 3 levels "P1","P2","P3": 1 1 1 1 1 1 1 1 1 1 ...

$ yield : num 34.6 22.8 32.9 48.9 21.8 25.4 30.4 35.2 30.8 38.7 ...

$ block : Factor w/ 3 levels "B1","B2","B3": 1 1 1 1 1 1 2 2 2 3 ...

「建模:」Y变量:yield

因子1:trt

因子2:period

因子3:cow

区组:block

「R中的建模代码:」

m5 = aov(yield ~ block + trt*period + cow, data=dat)

summary(m5)

注意,这里的trt*period是R中公式的简写,表示trt + period + trt:period,其中trt:period表示互作效应。

「结果:」

> summary(m5)

Df Sum Sq Mean Sq F value Pr(>F)

block 2 30.9 15.46 11.155 0.000926 ***

trt 2 273.8 136.88 98.739 9.96e-10 ***

period 2 109.5 54.74 39.486 6.49e-07 ***

cow 9 1428.8 158.76 114.523 8.29e-13 ***

trt:period 4 5.6 1.41 1.015 0.429042

Residuals 16 22.2 1.39

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

结果可以看出,trt之间达到极显著水平,period之间达到显著性水平,trt和period交互没有达到显著水平,cow达到极显著水平。

8. 裂区试验方差分析

裂区试验,包括主区(wplot)和裂区(splot),其中裂区是镶嵌在主区中的,主区和裂区的残差不一样,在模型中需要特殊定义。

「数据描述:」❝ Strip-split plot of barley with fertilizer, calcium, and soil factors.

data(cox.stripsplit)

dat

str(dat)

「数据结构:」

> str(dat)

'data.frame': 96 obs. of 5 variables:

$ rep : Factor w/ 4 levels "R1","R2","R3",..: 1 1 1 1 1 1 1 1 1 1 ...

$ soil : Factor w/ 3 levels "S1","S2","S3": 1 1 1 1 1 1 1 1 2 2 ...

$ fert : Factor w/ 4 levels "F0","F1","F2",..: 1 1 2 2 3 3 4 4 1 1 ...

$ calcium: Factor w/ 2 levels "C0","C1": 1 2 1 2 1 2 1 2 1 2 ...

$ yield : num 4.91 4.63 4.76 5.04 5.38 6.21 5.6 5.08 4.94 3.98 ...

「建模:」Y变量:yield

主区:fert

裂区:soil

区组:brep

「R中的建模代码:」

m6 = aov(yield ~ rep + soil*fert + Error(rep/fert),data=dat)

summary(m6)

注意,这里的Error(rep/fert)是R中公式的定义残差,主要用于不同因素使用不同残差的情况,这里fert是主区。

「结果:」

> summary(m6)

Error: rep

Df Sum Sq Mean Sq

rep 3 6.28 2.093

Error: rep:fert

Df Sum Sq Mean Sq F value Pr(>F)

fert 3 7.221 2.4071 3.562 0.0604 .

Residuals 9 6.082 0.6758

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Error: Within

Df Sum Sq Mean Sq F value Pr(>F)

soil 2 1.927 0.9633 7.155 0.00146 **

soil:fert 6 0.688 0.1147 0.852 0.53433

Residuals 72 9.693 0.1346

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

结果可以看出,soil达到极显著,fert不显著,soil和fert的互作不显著。

9. 正态性检验

方差分析中,结果是否可信,在于数据是否满足假定条件。方差分析的假定包括数据正态性,数据的方差齐次性,数据的独立性,其中可以检验的假定有:数据的正态性

数据的齐次性

这里,我们介绍如何对数据的正态性进行检验。

可以使用球性检验(Shapiro-Wilk)检验数据的正态性,也可以用qqplot查看残差的图,判断数据的正态性,也可以对数据做直方图,查看数据的正态性。

「数据描述:」❝ A classical N, P, K (nitrogen, phosphate, potassium) factorial experiment on the growth of peas conducted on 6 blocks. Each half of a fractional factorial design confounding the NPK interaction was used on 3 of the plots.

data(npk)

dat

str(dat)

「数据结构:」

> str(dat)

'data.frame': 24 obs. of 5 variables:

$ block: Factor w/ 6 levels "1","2","3","4",..: 1 1 1 1 2 2 2 2 3 3 ...

$ N : Factor w/ 2 levels "0","1": 1 2 1 2 2 2 1 1 1 2 ...

$ P : Factor w/ 2 levels "0","1": 2 2 1 1 1 2 1 2 2 2 ...

$ K : Factor w/ 2 levels "0","1": 2 1 1 2 1 2 2 1 1 2 ...

$ yield: num 49.5 62.8 46.8 57 59.8 58.5 55.5 56 62.8 55.8 ...

一般分析时,我们仅对Y变量进行正态性检验,如果是单因素或者多因素,也可以根据因素分组进行正态性检验,数据量大时,对于稍微偏态的数据,即使不太符合正态分布,也不影响结论。

这里,我们对yield进行正态性检验

「作直方图」

hist(dat$yield)

可以看到,yield大体符合正态分布。

「做qq图」

使用car软件包中的qqPlot函数。

library(car)

qqPlot(dat$yield)

可以看到,数据基本落在置信区间里面,数据符合正态分布。

「使用Shapiro-Wilk」检验数据正态分布

> shapiro.test(dat$yield)

Shapiro-Wilk normality test

data: dat$yield

W = 0.97884, p-value = 0.8735

可以看到,P值为0.8735,数据符合正态分布,与上图显示的结果一致。

10. 齐次性检验

方差分析中,我们对结果是否自信,在于数据是否满足假定条件,方差分析的假定条件包括数据正态性,数据的方差齐次性,数据的独立性,其中可以检验的假定有:数据的正态性

数据的齐次性

这里,我们介绍如何对数据的齐次性进行检验。齐次性检验,是检验不同样本的总体方差是否相同,是根据特定的模型,需要考虑不同的因子放到模型中,不能单独对某一列变量进行齐次性检验。

「齐次性检验:」Bartlet检验

Levene检验

「数据描述:」❝ A classical N, P, K (nitrogen, phosphate, potassium) factorial experiment on the growth of peas conducted on 6 blocks. Each half of a fractional factorial design confounding the NPK interaction was used on 3 of the plots.

data(npk)

dat

str(dat)

「数据结构:」

> str(dat)

'data.frame': 24 obs. of 5 variables:

$ block: Factor w/ 6 levels "1","2","3","4",..: 1 1 1 1 2 2 2 2 3 3 ...

$ N : Factor w/ 2 levels "0","1": 1 2 1 2 2 2 1 1 1 2 ...

$ P : Factor w/ 2 levels "0","1": 2 2 1 1 1 2 1 2 2 2 ...

$ K : Factor w/ 2 levels "0","1": 2 1 1 2 1 2 2 1 1 2 ...

$ yield: num 49.5 62.8 46.8 57 59.8 58.5 55.5 56 62.8 55.8 ...

比如上面数据中,相对N进行单因素方差分析,查看不同N的水平是否满足方差齐次性,可以这样操作:

「Bartlett检验」

Bartlett检验可以比较多个总体的方差

bartlett.test(yield ~ N,data=dat)

结果:

> bartlett.test(yield ~ N,data=dat)

Bartlett test of homogeneity of variances

data: yield by N

Bartlett's K-squared = 0.057652, df = 1, p-value = 0.8102

结果可以看出,不同的N之间,方差满足齐次性要求。

「Levene检验」

Bartlett检验对数据的正态性非常敏感,而Levene检验是一种非参数检验方法,使用范围更广。

library(car)

leveneTest(yield ~ N, data=dat)

结果:

> leveneTest(yield ~ N, data=dat)

Levene's Test for Homogeneity of Variance (center = median)

Df F value Pr(>F)

group 1 0.0054 0.9421

22

结果可以看出,P值为0.9421,大于0.05,说明数据符合方差齐次性。

11. 多重比较

这里,我们介绍一下方差分析中的多重比较方法。

「agricolae包」❝ This package contains functionality for the Statistical Analysis of experimental designs applied specially for field experiments in agriculture and plant breeding.

「多重比较方法:」LSD

scheffe

HSD(Tukey)

SNK

Duncan

「数据描述:」❝ A classical N, P, K (nitrogen, phosphate, potassium) factorial experiment on the growth of peas conducted on 6 blocks. Each half of a fractional factorial design confounding the NPK interaction was used on 3 of the plots.

data(npk)

dat

str(dat)

「数据结构:」

> str(dat)

'data.frame': 24 obs. of 5 variables:

$ block: Factor w/ 6 levels "1","2","3","4",..: 1 1 1 1 2 2 2 2 3 3 ...

$ N : Factor w/ 2 levels "0","1": 1 2 1 2 2 2 1 1 1 2 ...

$ P : Factor w/ 2 levels "0","1": 2 2 1 1 1 2 1 2 2 2 ...

$ K : Factor w/ 2 levels "0","1": 2 1 1 2 1 2 2 1 1 2 ...

$ yield: num 49.5 62.8 46.8 57 59.8 58.5 55.5 56 62.8 55.8 ...

「方差分析」 这里对N进行单因素方差分析,block为区组:

> m9 = aov(yield ~ block + N, data=dat)

> summary(m9)

Df Sum Sq Mean Sq F value Pr(>F)

block 5 343.3 68.66 3.395 0.0262 *

N 1 189.3 189.28 9.360 0.0071 **

Residuals 17 343.8 20.22

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

结果可以看到,N因素达到极显著水平

11.1 LSD多重比较❝ Multiple comparisons of treatments by means of LSD and a grouping of treatments. The level by alpha default is 0.05. Returns p-values adjusted using one of several methods

# LSD

re1 = LSD.test(m9,"N")

re1$groups

结果:

> re1 = LSD.test(m9,"N")

> re1$groups

yield groups

1 57.68333 a

0 52.06667 b

11.2 scheffe多重比较❝ Scheffe 1959, method is very general in that all possible contrasts can be tested for significance and confidence intervals can be constructed for the corresponding linear. The test is conservative.

代码:

(scheffe.test(m9,"N"))

结果

> (scheffe.test(m9,"N"))

$statistics

MSerror Df F Mean CV Scheffe CriticalDifference

20.22284 17 4.451322 54.875 8.194955 2.109816 3.873379

$parameters

test name.t ntr alpha

Scheffe N 2 0.05

$means

yield std r Min Max Q25 Q50 Q75

0 52.06667 5.377957 12 44.2 62.8 48.30 52.35 55.625

1 57.68333 5.791347 12 48.8 69.5 54.85 57.85 60.350

$comparison

NULL

$groups

yield groups

1 57.68333 a

0 52.06667 b

11.3 Tukey多重比较❝ It makes multiple comparisons of treatments by means of Tukey. The level by alpha default is 0.05.

代码:

# Turkey

(HSD.test(m9,"N"))

结果

> (HSD.test(m9,"N"))

$statistics

MSerror Df Mean CV MSD

20.22284 17 54.875 8.194955 3.873379

$parameters

test name.t ntr StudentizedRange alpha

Tukey N 2 2.98373 0.05

$means

yield std r Min Max Q25 Q50 Q75

0 52.06667 5.377957 12 44.2 62.8 48.30 52.35 55.625

1 57.68333 5.791347 12 48.8 69.5 54.85 57.85 60.350

$comparison

NULL

$groups

yield groups

1 57.68333 a

0 52.06667 b

11.4 SNK多重比较❝ SNK is derived from Tukey, but it is less conservative (finds more differences). Tukey controls the error for all comparisons, where SNK only controls for comparisons under consideration. The level by alpha default is 0.05.

代码:

# SNK

(SNK.test(m9,"N"))

结果

> (HSD.test(m9,"N"))

$statistics

MSerror Df Mean CV MSD

20.22284 17 54.875 8.194955 3.873379

$parameters

test name.t ntr StudentizedRange alpha

Tukey N 2 2.98373 0.05

$means

yield std r Min Max Q25 Q50 Q75

0 52.06667 5.377957 12 44.2 62.8 48.30 52.35 55.625

1 57.68333 5.791347 12 48.8 69.5 54.85 57.85 60.350

$comparison

NULL

$groups

yield groups

1 57.68333 a

0 52.06667 b

11.5 Duncan多重比较❝ This test is adapted from the Newman-Keuls method. Duncan's test does not control family wise error rate at the specified alpha level. It has more power than the other post tests, but only because it doesn't control the error rate properly. The Experimentwise Error Rate at: 1-(1-alpha)^(a-1); where "a" is the number of means and is the Per-Comparison Error Rate. Duncan's procedure is only very slightly more conservative than LSD. The level by alpha default is 0.05.

代码:

# Duncan

(duncan.test(m9,"N"))

结果

> (duncan.test(m9,"N"))

$statistics

MSerror Df Mean CV

20.22284 17 54.875 8.194955

$parameters

test name.t ntr alpha

Duncan N 2 0.05

$duncan

Table CriticalRange

2 2.98373 3.873379

$means

yield std r Min Max Q25 Q50 Q75

0 52.06667 5.377957 12 44.2 62.8 48.30 52.35 55.625

1 57.68333 5.791347 12 48.8 69.5 54.85 57.85 60.350

$comparison

NULL

$groups

yield groups

1 57.68333 a

0 52.06667 b

12. 获得所有代码及注释脚本

公众号回复(R-breeding):R语言方差分析。

r语言算巢式设计方差分析_R语言中的方差分析方法汇总相关推荐

  1. r语言算巢式设计方差分析_科学网—巢式设计之R篇 - 林元震的博文

    巢式设计(Nested design),也称为嵌套设计或系统分组设计.把研究对象分成若干组,每组内又分若干亚组,每个亚组又有若干观测值的设计,称为巢式设计.根据因素数的不同,巢式设计可分为二因素(二级 ...

  2. r语言算巢式设计方差分析_R语言之方差分析篇

    转载自:http://blog.csdn.net/lilanfeng1991/article/details/30753509 当包含的因子是解释变量时,通常会从预测转向 级别差异的分析,即称作方差分 ...

  3. r语言算巢式设计方差分析_应用统计学与R语言实现学习笔记(八)——方差分析...

    Chapter 8 ANOVA 本篇是第八章,内容是方差分析.前一段考试,汇报,作业.忙不过来,停更了一段时间,现在重新开始更这一部分内容.方差分析是很多实验的基础以及很重要的分析手段,这一章内容相比 ...

  4. r语言t检验输出检验统计量_R语言中实现T检验及可视化

    T检验,亦称student t检验(Student's t test),主要用于样本含量较小(例如n < 30),总体标准差σ未知的正态分布.T检验是用t分布理论来推论差异发生的概率,从而比较两 ...

  5. ryuyan 方差分析_R语言实战(9)——方差分析

    引言:上一章我们学习了如何通过量化的预测变量来预测量化的响应变量的回归模型.本期我们将一起学习如何对类别型预测变量建立合适的统计模型进行分析. 当包含的因子是解释变量时,关注的重点通常会从预测转向组别 ...

  6. c语言课程案例设计报告,C语言课程设计报告—范例解读.doc

    C语言课程设计报告-范例解读 XX学院C语言课程设计报告 课程名称: C语言课程设计 课程编号: 报告题目: 学生姓名: 学 号: 专 业 成 绩: 任课教师: 评阅日期: C语言课程设计报告 C语言 ...

  7. C语言案例教学设计论文,C语言教学设计本科教学论文

    一.目前C语言教学中的问题 内容单一无趣,教学过程中使用的教材案例是刻板的案例,不仅约束了学生的创新思维,学生不能够按照自己的方法和观点参与课堂互动,而且C语言教学的效果也大打折扣,所以教学过程中案例 ...

  8. c语言简单课程设计报告,C语言课程设计报告—范例

    <C语言课程设计报告-范例>由会员分享,可在线阅读,更多相关<C语言课程设计报告-范例(18页珍藏版)>请在人人文库网上搜索. 1.XX学院C语言课程设计报告课程名称: C语言 ...

  9. led c语言程序结设计,《C语言程序设计》学习领域课程标准-LED照明工程设计.doc...

    <C语言程序设计>学习领域课程标准-LED照明工程设计.doc <C语言程序设计>课程标准 课程类别 专业核心课程 开课部门 电子信息工程系 总学时 64 学时 学分 4学分 ...

最新文章

  1. php写实体类,PHP实体类
  2. svn 主干和分支项目代码更新与同步
  3. spring jaxb_自定义Spring命名空间使JAXB变得更容易
  4. html怎么弄艺术字体,如何为图片加上艺术字的图文方法步骤
  5. 6-6-3:STL之map和set——multiset和multimap及set和map在oj题中的用处
  6. 微课|玩转Python轻松过二级(3.3节):字典使用要点
  7. phpQuery乱码解决经验分享
  8. 微信PC版 消息汇总和云端控制的开发介绍
  9. 光纤信号服务器,485转光纤的两种方式
  10. 爬虫BeautifulSoup库学习-小猪短租网
  11. Simulink子系统
  12. Flowable Modeler
  13. 第六节NoSQL+时序数据库+RabbitMQ安装
  14. Week_five_summary
  15. Redis基本概念知识
  16. 机器人主板需求配置参数有哪些呢?
  17. 在线考试视频学习平台
  18. 魔镜魔镜谁最美 康得新“魔镜”一分钟给答案
  19. 无缝大世界之无缝连接Terrain转mesh
  20. 有关于双核补丁的扫盲

热门文章

  1. 电子硬件工程师要求?
  2. NJFU软件需求分析试卷
  3. 全球与中国远程摄像机市场深度研究分析报告
  4. 站长工具大全,站长工具哪个好用,站长在线工具
  5. 修改cmd编码为UTF-8
  6. vvic/搜款网API接口(item_get-根据ID取商品详情)
  7. vvic、lazada等国内小众电商平台商品详情API调用展示
  8. 深度神经网络对人工智能推动的发展评述与应用分析
  9. 四. 正则表达式的使用
  10. P2P原理以及如何实现(整理)