Skip to contents

format_md is for showing objects in a convenient way in Markdown format. Can be included to Rmarkdown file with the cat() function and the results='asis' code block option. The following example should be runned in a Rmd file with different output formats.

Usage

# S3 method for codebook
format_md(x, ...)
# S3 method for codebookEntry
format_md(x, name = "", add_rules = TRUE, ...)

Arguments

x

a "codebook" or "codebookEntry" object

name

a string; the variable name

add_rules

a boolean value; if TRUE adds a horizontal rules before and after the title

...

further arguments, passed to other functions

Value

format_md character string with code suitable for inclusion into a Markdown-file.

Examples

library(memisc)

Data1 <- data.set(
  vote = sample(c(1,2,3,8,9,97,99),size=300,replace=TRUE),
  region = sample(c(rep(1,3),rep(2,2),3,99),size=300,replace=TRUE),
  income = exp(rnorm(300,sd=.7))*2000
)

Data1 <- within(Data1,{
  description(vote) <- "Vote intention"
  description(region) <- "Region of residence"
  description(income) <- "Household income"
  foreach(x=c(vote,region),{
    measurement(x) <- "nominal"
  })
  measurement(income) <- "ratio"
  labels(vote) <- c(
    Conservatives         =  1,
    Labour                =  2,
    "Liberal Democrats"   =  3,
    "Don't know"          =  8,
    "Answer refused"      =  9,
    "Not applicable"      = 97,
    "Not asked in survey" = 99)
  labels(region) <- c(
    England               =  1,
    Scotland              =  2,
    Wales                 =  3,
    "Not applicable"      = 97,
    "Not asked in survey" = 99)
  foreach(x=c(vote,region,income),{
    annotation(x)["Remark"] <- "This is not a real survey item, of course ..."
  })
  missing.values(vote) <- c(8,9,97,99)
  missing.values(region) <- c(97,99)
})

codebook_data <- codebook(Data1)

codebook_md <- format_md(codebook_data, digits = 2)

writeLines(codebook_md)
#> --------------------------------------------------------------------------------
#> 
#>    vote --- 'Vote intention'
#> 
#> --------------------------------------------------------------------------------
#> 
#>    Storage mode: double    
#>    Measurement: nominal    
#>    Missing values: 8, 9, 97, 99    
#> 
#>    | Values |   | Labels                |     N | Valid | Total |
#>    |-------:|--:|:----------------------|------:|------:|------:|
#>    |  1     |   | 'Conservatives'       |    32 |  27.1 |  10.7 |
#>    |  2     |   | 'Labour'              |    45 |  38.1 |  15.0 |
#>    |  3     |   | 'Liberal Democrats'   |    41 |  34.7 |  13.7 |
#>    |  8     | M | 'Don't know'          |    43 |       |  14.3 |
#>    |  9     | M | 'Answer refused'      |    48 |       |  16.0 |
#>    | 97     | M | 'Not applicable'      |    43 |       |  14.3 |
#>    | 99     | M | 'Not asked in survey' |    48 |       |  16.0 |
#> 
#>    Remark:
#>        This is not a real survey item, of course ...
#> 
#> --------------------------------------------------------------------------------
#> 
#>    region --- 'Region of residence'
#> 
#> --------------------------------------------------------------------------------
#> 
#>    Storage mode: double    
#>    Measurement: nominal    
#>    Missing values: 97, 99    
#> 
#>    | Values |   | Labels                |     N | Valid | Total |
#>    |-------:|--:|:----------------------|------:|------:|------:|
#>    |  1     |   | 'England'             |   123 |  50.2 |  41.0 |
#>    |  2     |   | 'Scotland'            |    90 |  36.7 |  30.0 |
#>    |  3     |   | 'Wales'               |    32 |  13.1 |  10.7 |
#>    | 99     | M | 'Not asked in survey' |    55 |       |  18.3 |
#> 
#>    Remark:
#>        This is not a real survey item, of course ...
#> 
#> --------------------------------------------------------------------------------
#> 
#>    income --- 'Household income'
#> 
#> --------------------------------------------------------------------------------
#> 
#>    Storage mode: double    
#>    Measurement: ratio    
#> 
#>    Min:        237.433   
#>    Max:      30677.375   
#>    Mean:      2476.776   
#>    Std.Dev.:  2349.966   
#> 
#>    Remark:
#>        This is not a real survey item, of course ...
#> 

if (FALSE) {
writeLines(codebook_md,con="codebook-example.md")
}