OneWayAnova.pdf

From Array Suite Wiki

One Way ANOVA

Overview

This is the simplified version of the General Linear Model, for users with one-way factorial designs.

For example, if a user has a study that just contains treatment as a factor, this model can be quickly used to generate results (including fold changes, estimates, raw and adjusted p-values, LSMeans, and Estimate data.

This should not be used for experiments that contain more than one factor (e.g. time and treatment). Two factor analysis should use the Differential Analysis-Two Way Analysis of Variance command instead, and more complicated designs should use the General Linear Model command.

By selecting a Group, and then the level to Compare to, Array Studio will automatically create the comparisons and model for the user. This model generates an Inference Report Table (including automatically-generated Report View and VolcanoPlotView, as well as optional LSMeans and Estimate datasets.

To run this module, type MicroArray | Inference | Standard Test | One-Way ANOVA.

OneWay menu.png

Input Data Requirements

It works on -Omic data types. Since this is ANOVA, the underlying assumption is that the data follows a normal distribution.


General Options

1Way0.png

Input/Output

  • Project & Data: The window includes a dropdown box to select the Project and Data object to be filtered.
  • Variables: Selections can be made on which variables should be included in the filtering (options include All variables, Selected variables, Visible variables, and Customized variables (select any pre-generated Lists)).
  • Observations: Selections can be made on which observations should be included in the filtering (options include All observations, Selected observations, Visible observations, and Customized observations (select any pre-generated Lists).
  • Output name: The user can choose to name the output data object.

The factor(s) used in your statistical design should only use characters in A-Z a-z 0-9 _ (underline) and . (period). Please note, for some R tools/packages implemented into Array Suite, only letters, numbers, dots, and underline characters are allowed for variable names or column names.

Other characters, including ~ + - * / : ^ | [ ] { } ( ) # < > , and space may be interpreted improperly in the statistical design.

DesignTableCharacters.png

Options

  • Group: The user needs to specify the factor in the Group dropdown menu (this will include any columns designated as Factors in the Design Table). Please note that currently OneWayAnova requires group names, which correspond to column names in design table, to start from alphabetic characters.
  • Assume equal variance: Checking this box will assume that the error term from each observation has the same variance. Unchecking this box will assign different variance for errors in samples from different groups. Thus, a Welch's t-test will be performed in the One-Way ANOVA .
  • Comparison: The user can specify one of the various choices for the type of comparison to be made. "Control", "Pairwise", "Dunnett", "Tukey", "ScheffePairwise", "ScheffeControl" and "StudentNewmanKeuls", which are different types of tests available for a one-way ANOVA comparison. The "Compare to" and "Multiplicity" options (below) are only selectable for certain tests and therefore may be grayed-out. Read more Multiple Comparison Procedures.
  • Compare to: This function allows the user to specify the level of the specified Group column for making each comparison. For instance, in an experiment with 4 time points (0,1 2, and 3hrs), if the user chose Group as time, and Compare to as 0, then 3 comparisons would be generated (2hrs vs. 0, 3hrs vs. 0, and 4hrs vs. 0).
  • By: This function allows the user to select a design covariate to use in separating out the analysis based on the covariate groups.
  • Multiplicity: This function specifies the multiple comparisons adjustment used for the analysis. The options include: "FDR_BH", "FDR_BY", "Bonferroni", "Sidak", "StepDownBonferroni", "StepDownSidak", "StepUp" and QValue (FDR_BH is the default option).
Note: The Multiplicity adjustment takes into account the total number of tests performed within a given analysis. There is the ability to set the default option to adjust p-values on a per-test basis. Please refer to the [ Statistics] section in the User Guide.
  • FC transformation: This option will let the user set the fold-change transformation to any of the following: "Exp2" (default), "Exp", "Exp10" and Ratio.
  • Alpha level: This option allows the user to set a p-value cutoff for Lists which are automatically generated for each comparison in the ANOVA.
  • Report F-Test Pvalues: Checking this box will report the FTest p-value for the One-way ANOVA.
  • Generate LSMeans data: Checking this box will generate an LSMeans dataset, using the Group as the factor for the LSMeans. For more details about LSMeans, the user can check here.
  • Append LSMeans data: Checking this box will appended LSMeans data to the inference report (to allow the user to quickly see the intensity levels for each group).
  • Generate estimate data: Checking this box will generate an Estimate dataset (a dataset containing all the comparisons and the estimate levels).
  • Split the significant list by change direction: Checking this box will split each generated significant list (based on the alpha level value) by direction of change.


Output Results

An example Report (TableView) and VolcanoPlotView generated using this command are shown below:

1Way1.png

1Way2.png

The users can also visualize the cutoff line by specify Cutoff Lines under the Task tab.

Cutoff.png


OmicScript

One-Way ANOVA


RCode for F-Test

######################################################
## R code demo for identical p-values from ANOVA f-test and t-test
y1=c(121.45, 147.63, 130.34, 120.38)
y2=c(100.92, 114.94, 89.91, 111.84)
               
status <- c(rep("Resting", 4), rep("CD40-activated", 4))
score <- c(y1, y2)
                
## dataframe
sam.df <- data.frame(status, score)
plot(score ~ status, data = sam.df)
                
### anova f-test 
summary( aov(score ~ status, data = sam.df) )
# p-value = 0.0237
                
### t test and p-values
t.test(score ~ status, data = sam.df, var.equal=TRUE, paired=FALSE)
# p-value = 0.0237
## identical p-values

Related Articles

EnvelopeLarge2.png