Andreas Leha writes: > Hi Rainer, > > Rainer M Krug writes: >> Hi >> >> I want to highlight the cells in the table below with "***" by using >> color red for the font, "**' by using green for the font, ... or, if not possible, bold. Is any of this possible? >> >> The table is generated in R, so the ascii package might help (just >> thinking about it while typing)? >> >> Thanks, >> >> Rainer >> >> | | slope | intercept | p | pm | pb | >> |----------------------------+--------+-----------+---------------+--------------+---------------| >> | quercus_robur.single | -1.358 | 4.76 | | | | >> | quercus_robur.95 | -1.957 | 5.71 | 3.96e-21 *** | 7.47e-07 *** | 7.60e-09 *** | >> | quercus_robur.90 | -1.752 | 5.42 | 3.43e-02 * | 7.18e-02 . | 4.79e-02 * | >> | quercus_robur.85 | -1.773 | 5.41 | 4.11e-01 | 8.33e-01 | 9.38e- > > > I am not sure to understand your question correctly, but if the table is > R generated anyway, why not use R to provide the formatting for org? You do - bold or in colour. > > > Like -- as a start -- this function, that does the simplest of those and > replaces "***" with bold: This looks very promising, but I would also like to keep the stars, so I would like to have "3.96e-21 ***" in bold (or even in color`). But I am going to start with your example. Thanks, Rainer > > boldpattern <- " \\*\\*\\*$" > tbl <- apply(tbl, 2, > function(x) ifelse(grepl(boldpattern, x), > paste0("*", gsub(boldpattern, "", x), "*"), > x)) > > > Here as full example in action: > > ## ---------------------------------- ## > ## create a table ## > ## ---------------------------------- ## > > ## from ?lm > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > weight <- c(ctl, trt) > lm.D9 <- lm(weight ~ group) > lm.D90 <- lm(weight ~ group - 1) # omitting intercept > ## extract the coefficients > tbl <- summary(lm.D90)$coefficients > ## add the signif codes > tbl[,4] <- paste(tbl[,4], > symnum(tbl[,4], corr = FALSE, na = FALSE, > cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), > symbols = c("***", "**", "*", ".", " "))) > tbl > > > ## ---------------------------------- ## > ## make them 'org-bold' ## > ## ---------------------------------- ## > boldpattern <- " \\*\\*\\*$" > tbl <- apply(tbl, 2, > function(x) ifelse(grepl(boldpattern, x), > paste0("*", gsub(boldpattern, "", x), "*"), > x)) > tbl > > > HTH, > Andreas > > PS: The usual "don't use the signif.codes" applies. > > > -- Rainer M. Krug email: Rainerkrugsde PGP: 0x0F52F982