How to Use read.delim Function in R

Spread the love

The R programming language has a powerful set of tools for data analysis and visualization. An important initial step in any data analysis is loading your data into the environment. This task is made easy with the read.delim function. The following comprehensive guide will help you better understand and make the most out of this function.


The read.delim function in R is a function designed to read data from delimited files into a dataframe. Delimited files are text files that use a specific character to separate different values. The most common example of a delimited file is a CSV (Comma Separated Values) file, but the delimiter can be any character, such as a tab, a semicolon, a space, and so on.

The read.delim function is a variant of the more general read.table function, and it is used primarily to read in tab-delimited files (i.e., the default delimiter is a tab character).

Basic Usage

The simplest way to use read.delim is by providing the path of the file to be read as an argument. Here is a basic example:

data <- read.delim("/path/to/your/file.txt")

This will load the file at the specified path into the data dataframe. The file should be a text file with values separated by tabs.


The read.delim function has several additional arguments that allow you to control how the data is read.

  • header: This logical value indicates whether the first line of the data contains the names of the variables. The default value is TRUE, which means that R will automatically use the first line of the file as the column names for the dataframe.
  • sep: This is the character that separates the values in your file. The default value is a tab ("\t"), but it can be any character. For instance, to read a comma-separated file, you would use sep=",".
  • quote: This argument indicates which character is used in your file to indicate quoted values. The default value is "", meaning that quotes are not considered. If your file uses quotes to delimit strings (which might themselves contain commas or other separators), you can specify this character here.
  • dec: This argument is used to specify the character used as the decimal point. The default value is ".", but it can be changed to a comma or any other character if necessary.
  • row.names: This argument is used to specify which column should be used as the row names in the dataframe. The default value is NULL, meaning that R will automatically generate row names.
  • fill: If TRUE, then in case the rows have unequal length, blank fields are added at the end.
  • na.strings: A character vector of strings which are to be interpreted as NA values. Blank fields are also considered NA in logical, integer, numeric, complex or character columns.

These arguments can be combined as needed to accurately read your data. Here is an example that uses several of these arguments:

data <- read.delim("/path/to/your/file.txt", header=TRUE, sep="\t", quote="\"", dec=".", row.names=NULL, fill=TRUE, na.strings=c("", "NA"))

This command will read the file at the specified path, using the first line as the column names, a tab as the separator, a double quote as the quote character, a dot as the decimal point, no specific column for row names (R will generate them automatically), and interpreting blank fields and the string “NA” as NA values.

Handling Large Files

One of the issues you might encounter when using read.delim is that it can be slow or even fail when dealing with very large files. This is because the function loads the entire file into memory, which can be problematic with large datasets.

There are a few strategies to address this issue.

  • You can use the readr package, which provides a faster and more memory-efficient implementation of read.delim.
  • If the file is too large to fit into memory, you can use the ff package, which provides functions to read and handle large datasets that exceed the amount of RAM available.
  • You can also read the file in chunks using the nrows and skip arguments of read.delim. nrows specifies the number of rows to read, and skip specifies the number of rows to skip before starting to read.


The read.delim function in R is a powerful tool for reading in tabular data from text files. This function provides a great deal of flexibility, allowing you to read files with different separators, quote characters, decimal point characters, and so on. However, it can be slow or even fail with very large files, so in such cases, you might need to use alternative strategies or packages.

Remember, the strength of R lies in its flexibility and the variety of packages that extend its functionality. If you regularly work with large datasets or have specific needs, it is worth exploring other packages like readr, data.table, and ff to find the best tools for your tasks.

Posted in RTagged

Leave a Reply