# OneWayAnova.pdf

# 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**.

### 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

### 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.

### 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:

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

## OmicScript

## 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