% Introduction to R and Biostatistics
% Nov 9, 2012

Hopefully

Ideally

# Welcome to the Genomics sciences =)

## They are very diverse!

• Main branches
• Molecular biology
• Biochemistry
• Mathematics
• Computing
• Close to the core:
• Immunology, developmental biology, phylogenetics, …
• Wide variety of model organisms
• Bacteria, plants, higher eurakyotes, communities, …

## Who are we?

LCG's main focus is in developing researchers.

• From the wet biologist to the do-it-all to the more mathematical side
• But not any kind. The program trains you to understand a wide gamma of languages.
• Understand enough to communicate. That's it!
• Then you specialize in something.
• You might start in your 4th year or a bit earlier.

## What defines a researcher?

• We use the scientific method.
• Thus we observe a phenomenon, make hypothesis, gather data, and test them.
• We aim to be objective!
• Can we really ignore our prejudices and inner subjectivity?
• We also have to be able to communicate our ideas to others. Or try to.

# Statistics and philosophy

## Statistics

Richard Royall, Statistical Evidence, 1997

Science looks to statistics for help in interpreting data.

Statistics is supposed to provide objective methods for representic scientific data as evidence and for measuring the strength of that evidence.

Statistics serves science in other ways as well, contributing to both efficiency and objectivity through theories for the design of experiments and decision-making, for example.

But its most important task is to provide objective quantitative alternatives to personal judgement for integrating the evidence produced by experiments and observational studies.

## Useful scenario (Royall, 1997)

There is a disease that you are interested in and you have a single diagnostic test.

Lets say that you have two incompatible cases:

• In case A, a person has a disease ($$D$$).
• The probability that the test will be positive $$P(T^+|D) = 0.95$$.
• Thus, $$P(T^-|D) = 0.05$$.
• In case B, the person does not have the disease ($$D^c$$).
• The probability that the test will be positive is $$P(T^+|D^c) = 0.02$$.
• Thus, $$P(T^-|D^c) = 0.98$$.
• You apply the test to Juan, and it comes out positive. This is our observation.

## Three questions

1. What do I believe, now that I have this observation?
2. What should I do, now that I have this observation?
3. What does this observation tell me about case A versus case B? (How should I interpret this observation as evidence regarding A versus B?)

## Three possible conclusions

1. Juan probably does not have the disease.
2. Juan should be treated for the disease.
3. The test result is evidence that Juan has the disease.

## Three interpretations

1. Belief: Bayesian statistics.
2. Decision: Decision theory that is linked to frequentist statistics.
3. Evidence: Likelihood statistics.

## Why is the first one a belief?

Bayes theorem
Let $$A, B$$ be sets contained in the sample space. Then:
$P(A | B) = \frac{P(A \cap B)}{P(B)}$
if $$P(B) > 0$$.

Note that if $$P(A) > 0$$ then
$P(B | A) = \frac{P(B \cap A)}{P(A)}$
and thus $$P(B | A) P(A) = P(B \cap A)$$

But $$P(A \cap B) = P(B \cap A)$$ so
$P(A |B ) = \frac{ P(B | A) P(A)}{P(B)}$

Multiplication rule
Let $$A, B$$ be sets contained in the sample space. Then:
$P(B) = P(B|A)P(A) + P(B|A^c)P(A^c)$

Using Bayes theorem and the multiplication rule, we have:

$P(D|T^+) = \frac{ P(T^+ | D) P(D)}{ P(T^+ | D) P(D) + P(T^+ | D^c) P(D^c)}$
As $$P(D^c) = 1 - P(D)$$ and substituting the values we assumed earlier, we get that
$P(D|T^+) = \frac{0.95 P(D)}{0.95 P(D)+ 0.02 (1 - P(D))}$

Therefore, our answer to question 1 depends on $$P(D)$$, which we call the prior probability.

So you can think of $$P(D)$$ as the combination of all prior knowledge and your beliefs, and $$P(D|T^+)$$ as your new (updated) beliefs after observing the data. In this case, after seeing Juan get a positive test.

We need to know the possible actions that we can take and their risks (consequences).

For example, if the treatment is harmless, inexpensive and not treating a sick person leads to terrible consequences, then we will go for it and treat Juan.

So we need other information.

## Question 3.

The idea behind determining the evidence and it's measure of strength is so that you may use it along with other information you may have to do what you think is best.

## Conclusions

As you can see, there are three main divisions of statistical thinking.

But you don't have to choose a side. Use what is out there if you are clear about what you are asking and the methods you use are compatible.

The wrong thing to do is to claim something when what you used doesn't answer that question!

# Statistical models

## Purpose

• One of the reasons we use them is to try to uncover causes by studying relationships between variables.
• Although statistical relationships do not necessarily imply causal relationships, they do give us a starting point for further research.

Seber and Lee, Linear Regression Analysis, 2003

## Basics

• We are interested in some variables, normally just one which we call the response.
• We want to study how it depends on a set of variables called explanatory variables.
• Example: risk of heart attack explained by blood pressure, age, gender, cholesterol level, etc.

Seber and Lee, Linear Regression Analysis, 2003 Faraway, Linear Models with R, 2005

## Uses

Once we have a statistical model we can

• use it for prediction.
• test hypothesis.
• estimate parameters and give a measure of uncertainty.

• As one of my professors said, 80% of statistics is linear models.

# Why do I need statistics?

## Are we observing something that could happen by chance?

That is a big question that we will ask ourselves very frequently.

In other words, are we observing something unexpected?

This is the problem of hypothesis testing with the null hypothesis being chance.

## We have seen that you need statistics

To be objective

To estimate a parameter of interest and give a measure of uncertainty

To explain relationships between variables

## You will need biostatistics

Biostatistics is statistics applied to biological problems.

No matter what you do in science, you will need statistics at some point or another.

• How much? The basics.
• Takes around 2 semester-long courses to learn them (mostly frequentist)
• But I can collaborate with a statistician
• True, but it will be very hard to do so without a common language.

# R

## Why R?

• It's free (open source)
• Available on Windows, Mac, Linux/Unix.
• Easily to customize and expand with libraries called packages
• A lot of people in academia use it!
• Great for reproducibility (more later)

## Some cons

• It has a big learning curve
• No buttons which is a big difference if you are used to Excel…
• Can be very heterogeneous since lots of developers are working on different parts

## RStudio

RStudio

I highly recommend it as your first R user interface.

It's very friendly: menus, all the windows you want, highlighting, …

Once you learn to use RStudio you might want to try out other options which generally involve quite a bit of customization. Or you might be happy ever after with RStudio!

## R code

You will notice some R code in the next slides followed by it's output.

If you want to get the same results as me, just copy and paste them into R

Note that

# This symbol is used as a comment sign.
# Anything after will not be considered R code.


## R is vectored

x <- 1
y <- c(1, 2, 3)
x + y

##  2 3 4

z <- 1:3
y - z

##  0 0 0

1:20

##    1  2  3  4  5  6  7  8  9 10 11 12
##  13 14 15 16 17 18 19 20


## R as a calculator

Take Royall's example from the beginning. We know that:
$P(D|T^+) = \frac{0.95 P(D)}{0.95 P(D)+ 0.02 (1 - P(D))}$

So, what is the $$P(D|T^+)$$ if $$P(D) = 0.001$$?

Well, lets use R as a calculator!

0.95 * 0.001/(0.95 * 0.001 + 0.02 * (1 -
0.001))

##  0.04539


## R as a programming language

We want more. We want to check if $$P(D|T^+)$$ is greater when $$P(D) = 0.001, 0.20,$$ or $$0.5$$.

To simplify things, we can write a function and check that it works:

pr.d.given.t <- function(pr.d) {
0.95 * pr.d/(0.95 * pr.d + 0.02 * (1 -
pr.d))
}
pr.d.given.t(0.001)

##  0.04539


##

Now we can find the maximum one sequentially

pr.d.given.t(0.001) < pr.d.given.t(0.2)

##  TRUE

pr.d.given.t(0.001) < pr.d.given.t(0.5)

##  TRUE

pr.d.given.t(0.2) < pr.d.given.t(0.5)

##  TRUE

pr.d.given.t(0.5)

##  0.9794


## R as a graphics device

Not enough!

Lets look at $$P(D|T^+)$$ for all possible values of $$P(D)$$

##

pr.d <- seq(0.001, 0.999, by = 0.001)
plot(pr.d, pr.d.given.t(pr.d), type = "l",
col = "blue") ## Finding help

apropos("norm")

##   "dlnorm"         "dnorm"
##   "halfnorm"       "norm"
##   "normalizePath"  "plnorm"
##   "pnorm"          "qlnorm"
##   "qnorm"          "qqnorm"
##  "qqnorm.default" "qqnorml"
##  "rlnorm"         "rnorm"

?(pnorm)
args(rnorm)

## function (n, mean = 0, sd = 1)
## NULL


# The Normal distribution

## PDF

Let $$X$$ be the random variable that has a Normal distribution with mean $$\mu$$ and variance $$\sigma^2$$. Then it's probability density function (pdf) is given by the following equation:

$f_X(x) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp \left( -\frac{(x - \mu)^2}{2 \sigma^2} \right)$

If $$Z \sim N(0, 1)$$ then it's density is:

$f_Z(z) = \frac{1}{\sqrt{2\pi}} \exp \left(- \frac{z^2}{2} \right)$

Very famous and highly useful because of the Central Limit Theorem (check wiki and this useful applet).

## Lets plot its density

x <- seq(-5, 5, by = 0.01)
args(dnorm)

## function (x, mean = 0, sd = 1, log = FALSE)
## NULL

y <- dnorm(x, 0, 1)


##

plot(x, y, type = "l", col = "forest green") That was neat, because we know the parameters which describe the population.

But in reality, we only observe a sample. And from the sample, we get statistics such as the sample mean and sample variance.

## Starting from a sample

First, lets generate two random samples.

args(rnorm)

## function (n, mean = 0, sd = 1)
## NULL

set.seed(101)
x <- rnorm(100)
set.seed(102)
y <- rnorm(100, 2)


Exploratory Data Analysis is the first step when working backwards.

It relies heavily on plots

## Plot

plot(x, y) ## Boxplot

boxplot(x, y, col = "light blue") ## Histogram

hist(x, freq = FALSE, col = "skyblue") With estimated density line

hist(x, freq = FALSE, col = "skyblue")
lines(density(x), col = "blue") Overlaying two histograms

# Create histogram and density line for
# sample 1 (x)
hist(x, xlim = range(c(x, y)) * 1.2, ylim = c(0,
0.55), main = "Density plots of two samples",
xlab = "", density = 2, freq = FALSE,
border = "skyblue", col = "skyblue")
lines(density(x), col = "blue")

# Add histogram and density line for
# sample 2 (y)
hist(y, xlim = range(c(x, y)), ylim = c(0,
0.55), main = "", density = 2, freq = FALSE,
border = "pink", col = "pink", add = TRUE)
lines(density(y), col = "red")



##

# Add legend
legend("top", legend = c("x", "y"),

col=c("blue", "red"), lty=1, bty="n",
density = 20, border = c("skyblue", "pink"),
fill = c("skyblue", "pink"), cex=0.8)
# Example from my code a 140.776 exercise


##