cat() Function in R

Spread the love

String manipulation and output are critical operations in any programming language, and R is no exception. Among the many functions that R provides for these operations, the cat() function holds a unique place. This article will present a comprehensive discussion on the usage of the cat() function in R.

Understanding the Basics of cat()

The cat() function in R stands for “concatenate and print.” It combines multiple items into a continuous print output. The basic syntax of the cat() function is:

cat(..., file = "", sep = " ", fill = FALSE, labels = NULL, append = FALSE)

The key arguments are:

  • ...: The objects to be concatenated and printed.
  • file: The file to which to write the output.
  • sep: The string to separate the objects.
  • fill: Whether to fill the output to a certain width.
  • labels: The labels to use for the objects.
  • append: Whether to append to the file if it already exists.

Basic Usage of cat()

At its most basic, the cat() function concatenates and prints its arguments. For example:

cat("Hello,", "world!")

This will print Hello, world!.

Concatenating Multiple Items

The cat() function can concatenate multiple items, not just strings. You can pass any number of items, and they will be concatenated in the order they are provided:

cat("The answer is:", 42)

This will print The answer is: 42.

Using the sep Argument

By default, cat() separates the items with a space. You can change this with the sep argument:

cat("Hello,", "world!", sep = "_")

This will print Hello,_world!.

Writing to a File

With the file argument, cat() can write the output to a file instead of printing it. Here’s how to do it:

cat("Hello, world!", file = "hello.txt")

This will create a file named hello.txt and write Hello, world! to it.

Filling the Output

With the fill argument, cat() can fill the output to a certain width. If fill is a positive number, it specifies the width in characters. If it’s TRUE, the output is filled to the width of the R console. Here’s an example:

cat(rep("Hello, world!", 10), fill = 20)

This will print Hello, world! 10 times, with each line filled to 20 characters.

Using Labels

With the labels argument, cat() can add labels to the items. The labels are repeated to match the number of items:

cat(rep("Hello, world!", 3), labels = c("One:", "Two:", "Three:"), sep = "\n")

This will print each Hello, world! with a corresponding label.

Appending to a File

With the append argument, cat() can append to a file if it already exists:

cat("Hello, world!", file = "hello.txt", append = TRUE)

This will add Hello, world! to the end of hello.txt without overwriting the existing content.

Comparing cat() with Other Functions

The cat() function is often compared with other R functions like print() and paste(). The key difference is that cat() is designed for creating output, while print() and paste() are more suited for generating strings. For example, cat() doesn’t return anything, while paste() returns the concatenated string. Also, cat() can write to a file, while print() and paste() cannot.

Practical Uses of cat()

The cat() function is commonly used in the following scenarios:

  1. Creating formatted output: With its ability to concatenate and separate items, cat() is ideal for creating formatted output. It’s often used in functions to print custom messages.
  2. Writing to files: cat() is a convenient way to write text to files. It can be used to generate logs, reports, or any text-based output.
  3. Debugging: By inserting cat() calls in a function, you can print information that helps debug the function.


The cat() function in R is a powerful tool for concatenating and printing output. It provides flexible control over the output format and destination. By understanding how to use cat(), you can handle a wide range of output requirements in your R programs. Whether you’re creating formatted messages, writing to files, or debugging functions, cat() is an essential function to know.

Posted in RTagged

Leave a Reply