If I enter
print(cat(""))
I get
NULL
I want to use cat()
to print out the progress of an R script, but I don't understand why it is returning NULL
at the end of all of my concatenated strings, and more importantly, how to get it to stop?
The simple printing method in R is to use print() . As its name indicates, this method prints its arguments on the R console. However, cat() does the same thing but is valid only for atomic types (logical, integer, real, complex, character) and names, which will be covered in the later chapters.
cat() function in R Language is used to print out to the screen or to a file.
NULL represents the null object in R. NULL is used mainly to represent the lists with zero length, and is often returned by expressions and functions whose value is undefined. as. null ignores its argument and returns the value NULL .
Every language provides some functions that can help you print the data on the console, and R is no different. To print the data on the console in R, use the print() function.
All your answers are in the documentation for ?cat
. The portions that answer your specific question are:
Arguments:
fill: a logical or (positive) numeric controlling how the output is broken into successive lines. If ‘FALSE’ (default), only newlines created explicitly by ‘"\n"’ are printed. Otherwise, the output is broken into lines with print width equal to the option ‘width’ if ‘fill’ is ‘TRUE’, or the value of ‘fill’ if this is numeric. Non-positive ‘fill’ values are ignored, with a warning.
... and ...
Value:
None (invisible ‘NULL’).
So you can't stop print(cat(...))
from returning NULL
because that's what cat
returns. And you need to explicitly add newlines like cat("foo\n")
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With