How to plot allele frequency
Hi all,
I have a table that you will see below:
CHROM_POS A_Freq M.F Annotation N_Chr POP
1 CM009840.1_932 1.000000 0.000000 nongenic 20.00000 KHUZ
2 CM009840.1_1096 0.666667 0.333333 nongenic 13.33334 KHUZ
3 CM009840.1_1107 0.277778 0.277778 nongenic 5.55556 KHUZ
4 CM009840.1_1177 0.500000 0.500000 nongenic 10.00000 KHUZ
5 CM009840.1_1276 0.555556 0.444444 nongenic 11.11112 KHUZ
6 CM009840.1_1295 0.555556 0.444444 nongenic 11.11112 KHUZ
7 CM009840.1_1518 0.937500 0.062500 nongenic 18.75000 KHUZ
8 CM009840.1_1527 0.000000 0.000000 nongenic 0.00000 KHUZ
9 CM009840.1_1533 0.937500 0.062500 nongenic 18.75000 KHUZ
10 CM009840.1_1630 0.062500 0.062500 nongenic 1.25000 KHUZ
SO, I want to draw a plot like the following plot:

What is the best idea?
• 2,289 views
•
link
1 answer
Here is a start:
library(dplyr)
library(ggplot2)
# example data
set.seed(1); myData <- data.frame(
A_Freq = runif(1000),
Annotation = sample(LETTERS[1:3], 1000, replace = TRUE))
# prepare data, use "cut" make "A_Freq" groups
plotDat <- myData %>%
mutate(AlleleFrequency = cut(A_Freq, seq(0, 1, 0.25))) %>%
group_by(AlleleFrequency, Annotation) %>%
summarise(FractionOfSNPs = n()/nrow(myData) * 100)
# then plot
ggplot(plotDat,
aes(AlleleFrequency, FractionOfSNPs, group = Annotation, col = Annotation)) +
geom_line() +
scale_y_continuous(limits = c(0, 100))
• 1 views
•
link
Log in to answer this question.