Sample code provided:
#creating data columns
x2 <- c(0,0,0,0,0,0.02,1,0,0,1.5,0,0,0,0.06,0.09,0,0,3,0.05,0,9,0,0,0,1.2,0,3.2,0,4,0,2.4,0,0,0,0,0.09,3,0.03,0,2,
0,0,0,0,0,0.02,1,0,0,1.5,0,0,0,0.06,0.09,0,0,3,0.05,0,7,0,0,0,1.2,0,3.2,0,4,0,2.4,0,0,0,0,0.09,3,0.03,0,2,
0,0,0,0,0,0.02,1,0,0,1.5,0,0,0,0.06,0.09,0,0,3,0.05,0,12,0,0,0,1.2,0,3.2,0,4,0,2.4,0,0,0,0,0.09,3,0.03,0,2)
id <- c(1,1,1,1,1,1,1,2,2,2,3,3,3,3,3,3,3,3,4,4,4,5,5,5,5,6,6,7,7,8,8,9,9,9,9,9,9,10,10,10,
11,11,11,11,11,11,11,12,12,12,13,13,13,13,13,13,13,13,14,14,14,15,15,15,15,16,16,17,
17,18,18,19,19,19,19,19,19,20,20,20,
21,21,21,21,21,21,21,22,22,22,23,23,23,23,23,23,23,23,24,24,24,25,25,25,25,26,26,27,
27,28,28,29,29,29,29,29,29,30,30,30)
entry <- c(0,1,2,3,4,5,6,0,1,2,0,1,2,3,4,5,6,7,0,1,2,0,1,2,3,0,1,0,1,0,1,0,1,2,3,4,5,0,1,2,
0,1,2,3,4,5,6,0,1,2,0,1,2,3,4,5,6,7,0,1,2,0,1,2,3,0,1,0,1,0,1,0,1,2,3,4,5,0,1,2,
0,1,2,3,4,5,6,0,1,2,0,1,2,3,4,5,6,7,0,1,2,0,1,2,3,0,1,0,1,0,1,0,1,2,3,4,5,0,1,2)
exit <- entry +1
event <- c(0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,
1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,0,1,
0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,
1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,0,1,
0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,
1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,0,1)
group <- c("SY","SY","SY","SY","SY","SY","SY","ASY","ASY","ASY","ASY","ASY","ASY","ASY","ASY","ASY",
"ASY","ASY","SY","SY","SY","ASY","ASY","ASY","ASY","ASY","ASY","ASY","ASY","ASY","ASY","SY",
"SY","SY","SY","SY","SY","ASY","ASY","ASY","SY","SY","SY","SY","SY","SY","SY","ASY",
"ASY","ASY","SY","SY","SY","SY","SY","SY","SY","SY","ASY","ASY","ASY","SY","SY","SY",
"SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY",
"SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY",
"SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY","SY",
"SY","SY","SY","SY","SY","ASY","ASY","ASY")
#setting data distribution to dataframe
data <- data.frame(id, group, entry, exit, event, x2)
#rms cox model
rms.spline <- cph(Surv(entry, exit, event) ~ group + x2,
data = data)
#predictive graph of "group" variable
testgraphhenage <- ggplot(rms::Predict(rms.spline, group, fun = exp))
#produce graph
testgraphhenage
The graph that this code produces gives the y axis as "group" and the x axis as "hazard rate". I want the x axis to be "group" and the y axis to be "hazard rate.
I tried:
testgraphhenage+
coord_flip()
But this did not work. How can I switch these axes?
Constructing the plot from the prediction manually will make it easier to customize.
library(rms)
library(ggplot2)
#rms cox model
rms.spline <- cph(Surv(entry, exit, event) ~ group + x2,
data = data)
options(datadist = datadist(data))
pred <- rms::Predict(rms.spline, group, fun = exp)
tibble::as_tibble(pred) |>
ggplot(aes(x = group, y = yhat, ymin = lower, ymax = upper)) +
geom_linerange() +
geom_point() +
labs(y = 'hazard rate')
data <- structure(list(id = c(1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3,
3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9,
9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12,
13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 15, 15, 16,
16, 17, 17, 18, 18, 19, 19, 19, 19, 19, 19, 20, 20, 20, 21, 21,
21, 21, 21, 21, 21, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,
24, 24, 24, 25, 25, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 29,
29, 29, 29, 30, 30, 30), group = c("SY", "SY", "SY", "SY", "SY",
"SY", "SY", "ASY", "ASY", "ASY", "ASY", "ASY", "ASY", "ASY",
"ASY", "ASY", "ASY", "ASY", "SY", "SY", "SY", "ASY", "ASY", "ASY",
"ASY", "ASY", "ASY", "ASY", "ASY", "ASY", "ASY", "SY", "SY",
"SY", "SY", "SY", "SY", "ASY", "ASY", "ASY", "SY", "SY", "SY",
"SY", "SY", "SY", "SY", "ASY", "ASY", "ASY", "SY", "SY", "SY",
"SY", "SY", "SY", "SY", "SY", "ASY", "ASY", "ASY", "SY", "SY",
"SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY",
"SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY",
"SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY",
"SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY",
"SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "SY", "ASY",
"ASY", "ASY"), entry = c(0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 0, 1,
2, 3, 4, 5, 6, 7, 0, 1, 2, 0, 1, 2, 3, 0, 1, 0, 1, 0, 1, 0, 1,
2, 3, 4, 5, 0, 1, 2, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 0, 1, 2, 3,
4, 5, 6, 7, 0, 1, 2, 0, 1, 2, 3, 0, 1, 0, 1, 0, 1, 0, 1, 2, 3,
4, 5, 0, 1, 2, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 0, 1, 2, 3, 4, 5,
6, 7, 0, 1, 2, 0, 1, 2, 3, 0, 1, 0, 1, 0, 1, 0, 1, 2, 3, 4, 5,
0, 1, 2), exit = c(1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 1, 2, 3, 4,
5, 6, 7, 8, 1, 2, 3, 1, 2, 3, 4, 1, 2, 1, 2, 1, 2, 1, 2, 3, 4,
5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 1, 2, 3, 4, 5, 6,
7, 8, 1, 2, 3, 1, 2, 3, 4, 1, 2, 1, 2, 1, 2, 1, 2, 3, 4, 5, 6,
1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 1, 2, 3, 4, 5, 6, 7, 8,
1, 2, 3, 1, 2, 3, 4, 1, 2, 1, 2, 1, 2, 1, 2, 3, 4, 5, 6, 1, 2,
3), event = c(0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,
0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0,
1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1),
x2 = c(0, 0, 0, 0, 0, 0.02, 1, 0, 0, 1.5, 0, 0, 0, 0.06,
0.09, 0, 0, 3, 0.05, 0, 9, 0, 0, 0, 1.2, 0, 3.2, 0, 4, 0,
2.4, 0, 0, 0, 0, 0.09, 3, 0.03, 0, 2, 0, 0, 0, 0, 0, 0.02,
1, 0, 0, 1.5, 0, 0, 0, 0.06, 0.09, 0, 0, 3, 0.05, 0, 7, 0,
0, 0, 1.2, 0, 3.2, 0, 4, 0, 2.4, 0, 0, 0, 0, 0.09, 3, 0.03,
0, 2, 0, 0, 0, 0, 0, 0.02, 1, 0, 0, 1.5, 0, 0, 0, 0.06, 0.09,
0, 0, 3, 0.05, 0, 12, 0, 0, 0, 1.2, 0, 3.2, 0, 4, 0, 2.4,
0, 0, 0, 0, 0.09, 3, 0.03, 0, 2)), class = "data.frame", row.names = c(NA,
-120L))