harrelfe / Hmisc

Harrell Miscellaneous
Other
208 stars 81 forks source link

latex() not printing column spanners or rownames #58

Closed GaryNapier closed 7 years ago

GaryNapier commented 7 years ago

Hi,

I can get the column spanners and rownames to work in htmlTable, but not latex().

My code:

# Create data frame, names for column spanners and rownames to pass to latex()
x <- rnorm(12, 0, 1)
y <- rnorm(12, 0, 1)
Sa_2 <- data.frame(Mean = x, SD = y)
Om_2 <- data.frame(Mean = x, SD = y)
Nu <- data.frame(Mean = x, SD = y)
Param_names <- c("Sa_2", "Om_2", "Nu")
Group <- rep(c("Ctrl", "Pat"), 6)
Analyses_names <- sprintf("A%s", 1:6)
Mean_sd <- cbind(Sa_2, Om_2, Nu)
Mean_sd <- signif(Mean_sd, digit = 2)

library(htmlTable)
library(Hmisc)

# Works perfectly
htmlTable(Mean_sd, 
          rnames = Group, 
          rgroup =Analyses_names, 
          n.rgroup = rep(2, 6), 
          cgroup = Param_names, 
          n.cgroup = c(2, 2, 2))

# Does not print column spanners (Param_names) or rownames (Group_names)
latex(Mean_sd, file = "",
      title  = '',
      rnames = Group, 
      rgroup = Analyses_names, 
      n.rgroup = rep(2, 6),
      cnames = Param_names, 
      n.cgroup = c(2, 2, 2))

Thank you!

Gary

harrelfe commented 7 years ago

Please read the documentation for latex.default carefully. The following code works fine:

latex(Mean_sd, file = '',
      title  = '',
      rowname = Group,    # he originally had rnames=Group
      rgroup = Analyses_names, 
      n.rgroup = rep(2, 6),
      cgroup = Param_names,   # he originally had cnames=Param_names
      n.cgroup = c(2, 2, 2))