Search code examples
rprintingpackageasciinon-ascii-characters

Printing check mark is triggering warning when running R cmd checks


I‘m writing a simple function that reads multiple files from the user, then it prints into the terminal (print) file name and yes or no next to it, if it was valid/invalid. I would like to use x/✓symbols.

The problem however, since the check symbol is not in ascii, R cmd is throwing a warning. I tried several approaches (charToRaw, intToUtf8, symbol(“\326”) yet non is working with simple print in terminal. As an example:

Df <- data.frame(file = myfiles, status = “x”)
Df$status[1]= “✓”
print (Df)

Any idea? Thanks


Solution

  • The cli package offers a way to print these with cli_alert_success and cli_alert_danger. Presumably, you have some more complicated check as to if the file was valid. Store that as a boolean instead of the explicit character.

    Df <- data.frame(file = myfiles, isValid = myValidityCheckFx(myfiles))
    purrr::walk2(
        Df$file, Df$isValid, 
        ~if(.y) cli::cli_alert_success(.x) else cli::cli_alert_danger(.x)
    )