Question

J'ai des données (la sortie d'une fonction ddply) que je veux présenter dans un XTABLE pour un autre endroit.

calqc_table<-structure(list(RUNID = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L), ANALYTEINDEX = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L), ID = structure(1:11, .Label = c("Cal A", "Cal B", "Cal C", 
"Cal D", "Cal E", "Cal F", "Cal G", "Cal H", "Cal High", "Cal Low", 
"Cal Mid"), class = "factor"), mean_conc = c(200.619459644855, 
158.264703128903, 102.469121407733, 50.3551544728544, 9.88296440865076, 
4.41727762501703, 2.53494715706024, 1.00602831741361, 199.065054555735, 
2.48063347296935, 50.1499780776199), sd_conc = c(2.3275711264554, 
NA, NA, NA, NA, NA, NA, 0.101636943231162, 0, 0, 0), nrow = c(3, 
1, 1, 1, 1, 1, 1, 3, 2, 2, 2)), .Names = c("RUNID", "ANALYTEINDEX", 
"ID", "mean_conc", "sd_conc", "nrow"), row.names = c(NA, -11L
), class = "data.frame")
calqc_xtable<-xtable(calqc_table)
print(calqc_xtable,type="html")

qui me donne la table au format html. Cependant, je veux fusionner le contenu des colonnes RunId et ANALYTEINDEX verticalement où les valeurs sont les mêmes. Quelqu'un sait comment le faire via XTABLE (ou d'une autre manière?)

Était-ce utile?

La solution

Je « nettoyer » la trame de données d'origine en remplaçant les valeurs égales à la valeur précédente par NA. xtable rendra ces valeurs manquantes comme des espaces vides. Cela aura l'air bien si vous ne disposez pas de lignes de bordure horizontale.

cleanf <- function(x){ 
   oldx <- c(FALSE, x[-1]==x[-length(x)])  # is the value equal to the previous?
   res <- x
   res[oldx] <- NA        
   res}

Maintenant, nous pouvons appliquer cette fonction aux colonnes que vous voulez assainis:

clean.cols <- c( "RUNID", "ANALYTEINDEX")
calqc_table[clean.cols] <- lapply(calqc_table[clean.cols], cleanf)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top