8

I am trying to read a .tsv (tab-separated value) file into R using a specific encoding. It's supposedly windows-1252. And it has a header.

Any suggestions for the code to put it into a data frame?

screechOwl
  • 27,310
  • 61
  • 158
  • 267

3 Answers3

19

Something like this perhaps?

mydf <- read.table('thefile.txt', header=TRUE, sep="\t", fileEncoding="windows-1252")
str(mydf)
Tommy
  • 39,997
  • 12
  • 90
  • 85
6

You can also use:

read.delim('thefile.txt', header= T, fileEncoding= "windows-1252")

Simply entering the command into your R consol:

 > read.delim
function (file, header = TRUE, sep = "\t", quote = "\"", dec = ".", 
    fill = TRUE, comment.char = "", ...) 
read.table(file = file, header = header, sep = sep, quote = quote, 
    dec = dec, fill = fill, comment.char = comment.char, ...)

reveals that read.delim is a packaged read.table command that already specifies tabs as your data's separator. read.delim might be more convenient if you're working with a lot of tsv files.

The difference between the two commands is discussed in more detail in this Stack question.

Community
  • 1
  • 1
2

df <- read.delim(~/file_directory/file_name.tsv, header = TRUE) will be working fine for single .tsv file, because it is already tab separated, so no need sep = "\t". fileEncoding= "windows-1252" could be used but not necessary.