R чтение файла tsv с использованием определенной кодировки - PullRequest
8 голосов
/ 19 марта 2012

Я пытаюсь прочитать файл .tsv (значение, разделенное табуляцией) в R, используя определенную кодировку.Это предположительно windows-1252.И у него есть заголовок.

Какие-либо предложения для кода, чтобы поместить его во фрейм данных?

Ответы [ 3 ]

19 голосов
/ 19 марта 2012

Что-то вроде этого возможно?

mydf <- read.table('thefile.txt', header=TRUE, sep="\t", fileEncoding="windows-1252")
str(mydf)
6 голосов
/ 29 мая 2013

Вы также можете использовать:

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

Простой ввод команды в консоль R:

 > 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, ...)

показывает, что read.delim является упакованным read.table команда, которая уже определяет вкладки в качестве разделителя ваших данных.read.delim может быть более удобным, если вы работаете с большим количеством файлов tsv.

Разница между этими двумя командами обсуждается более подробно в этом вопросе стека .

2 голосов
/ 16 января 2016

df <- read.delim(~/file_directory/file_name.tsv, header = TRUE) будет работать нормально для одного .tsv файла, потому что он уже tab разделен, поэтому нет необходимости sep = "\t". fileEncoding= "windows-1252" можно использовать, но не обязательно.

...