Home > OS >  Need help making first publication table
Need help making first publication table

Time:12-10

I am writing up my first paper. I have a data frame that has the study, symptoms, and the odds ratio that were analyzed for each symptom in each study. For example:

df <- structure(list(Study = c("Study1", "Study2", "Study1", "Study2", "Study1", "Study2"), Symptom = c("Symptom1", "Symptom1", "Symptom2", "Symptom2", "Symptom3", "Symptom3"), OR= c(1L, 0L, 1L, 0L, 1L, 0L), lower = c(-2L, -1L, -2L, -1L, -2L, -1L), upper = c(2L, 1L, 2L, 1L, 2L, 1L)), row.names = c(NA,   -6L), class = "data.frame")

I am wondering how to make a table for publication/what package to use that transforms the data and then prints a table that would look like:

df2 <- structure(list(Symptom = c("Symptom1", "Symptom2", "Symptom3"), Study1 = c("1(-2,2)", "1(-2,2)", "1(-2,2)"), Study2 = c("0(-1,1)", "0(-1,1)", "0(-1,1)")), row.names = c(NA,   -3L), class = "data.frame")

Thanks for the help!

CodePudding user response:

library(dplyr)
library(tidyr)
df %>%
  transmute(Study, Symptom, x = sprintf("%i(%i,%i)", OR, lower, upper)) %>%
  pivot_wider(Symptom, names_from = Study, values_from = x)
# # A tibble: 3 x 3
#   Symptom  Study1  Study2 
#   <chr>    <chr>   <chr>  
# 1 Symptom1 1(-2,2) 0(-1,1)
# 2 Symptom2 1(-2,2) 0(-1,1)
# 3 Symptom3 1(-2,2) 0(-1,1)
  •  Tags:  
  • r
  • Related