library(ggplot2)
library(tidyr)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#load in data
df = read.csv("example.csv")
df
## State Region measurement paired
## 1 Alabama Urban 73 1
## 2 Alabama Rural 86 1
## 3 Alaska Urban 75 2
## 4 Alaska Rural 91 2
## 5 Arizona Urban 41 3
## 6 Arizona Rural 90 3
## 7 Arkansas Urban 44 4
## 8 Arkansas Rural 93 4
## 9 California Urban 72 5
## 10 California Rural 91 5
## 11 Colorado Urban 68 6
## 12 Colorado Rural 90 6
## 13 Connecticut Urban 81 7
## 14 Connecticut Rural 108 7
## 15 Delaware Urban 59 8
## 16 Delaware Rural 96 8
## 17 Florida Urban 71 9
## 18 Florida Rural 95 9
## 19 Georgia Urban 72 10
## 20 Georgia Rural 91 10
## 21 Hawaii Urban 57 11
## 22 Hawaii Rural 91 11
## 23 Idaho Urban 58 12
## 24 Idaho Rural 97 12
## 25 Illinois Urban 56 13
## 26 Illinois Rural 93 13
## 27 Indiana Urban 78 14
## 28 Indiana Rural 94 14
## 29 Iowa Urban 57 15
## 30 Iowa Rural 88 15
## 31 Kansas Urban 66 16
## 32 Kansas Rural 87 16
## 33 Kentucky Urban 53 17
## 34 Kentucky Rural 99 17
## 35 Louisiana Urban 69 18
## 36 Louisiana Rural 105 18
## 37 Maine Urban 72 19
## 38 Maine Rural 95 19
## 39 Maryland Urban 62 20
## 40 Maryland Rural 100 20
## 41 Massachusetts Urban 68 21
## 42 Massachusetts Rural 100 21
## 43 Michigan Urban 61 22
## 44 Michigan Rural 90 22
## 45 Minnesota Urban 69 23
## 46 Minnesota Rural 94 23
## 47 Mississippi Urban 69 24
## 48 Mississippi Rural 87 24
## 49 Missouri Urban 71 25
## 50 Missouri Rural 88 25
## 51 Montana. Urban 76 26
## 52 Montana. Rural 95 26
## 53 Nebraska Urban 62 27
## 54 Nebraska Rural 93 27
## 55 Nevada. Urban 64 28
## 56 Nevada. Rural 91 28
## 57 New Hampshire Urban 80 29
## 58 New Hampshire Rural 88 29
## 59 New Jersey Urban 79 30
## 60 New Jersey Rural 98 30
## 61 New Mexico Urban 66 31
## 62 New Mexico Rural 86 31
## 63 New York Urban 68 32
## 64 New York Rural 99 32
## 65 North Carolina Urban 66 33
## 66 North Carolina Rural 95 33
## 67 North Dakota Urban 56 34
## 68 North Dakota Rural 92 34
## 69 Ohio Urban 72 35
## 70 Ohio Rural 89 35
## 71 Oklahoma Urban 75 36
## 72 Oklahoma Rural 98 36
## 73 Oregon Urban 60 37
## 74 Oregon Rural 96 37
## 75 Pennsylvania Urban 65 38
## 76 Pennsylvania Rural 100 38
## 77 Rhode Island Urban 55 39
## 78 Rhode Island Rural 87 39
## 79 South Carolina Urban 55 40
## 80 South Carolina Rural 103 40
## 81 South Dakota Urban 58 41
## 82 South Dakota Rural 95 41
## 83 Tennessee Urban 73 42
## 84 Tennessee Rural 90 42
## 85 Texas Urban 63 43
## 86 Texas Rural 103 43
## 87 Utah Urban 68 45
## 88 Utah Rural 87 45
## 89 Vermont Urban 68 46
## 90 Vermont Rural 93 46
## 91 Virginia Urban 60 47
## 92 Virginia Rural 100 47
## 93 Washington Urban 66 48
## 94 Washington Rural 104 48
## 95 West Virginia Urban 67 49
## 96 West Virginia Rural 96 49
## 97 Wisconsin Urban 69 50
## 98 Wisconsin Rural 98 50
## 99 Wyoming Urban 48 51
## 100 Wyoming Rural 90 51
#data was simulated as follows
#lowerbound = rnorm(50,65,10)
#upperbound = rnorm(50,95,5)
#ordered, no labels
df %>% ggplot(aes(x= measurement, y= reorder(State,measurement))) +
geom_line(aes(group = paired), color="grey")+
geom_point(aes(color=Region), size=3) +
labs(y="State",x="Insert Title Here") + theme_bw() + theme(legend.position="top")

#compare to grouped bar charts
ggplot(df, aes(fill=Region, y=measurement, x=State)) +
geom_bar(position="dodge", stat="identity") +
scale_y_continuous(expand = c(0, 0))

#ordered, bottom labels
df %>% ggplot(aes(x= measurement, y= reorder(State,measurement))) +
geom_line(aes(group = paired), color="grey")+
geom_point(aes(color=Region), size=3) +
labs(y="State",x="Insert Title Here") + theme_bw() + theme(legend.position="top") +
geom_text(size=2.75, vjust=2.5,
aes(x=measurement, y=State, label=measurement))

#elongate and export to PDF
ggsave("dumbbell_plot.pdf", width = 10, height = 20)