Вам необходимо записать sep="\t"
в качестве параметра read.table
.
В случае вкладки, это t
, который экранируется. Другими словами, вы говорите R, что t
на самом деле не означает t
, но tab
. Если вы выберете \
, используя \\
, вы скажете R, что \
на самом деле не означает escape
, а буквально \
.
Вот код, иллюстрирующий правильное использование sep="\t"
в read.table
. И просто для удовольствия я использую textConnection
, чтобы использовать соединение для записи и чтения, вместо использования файла на диске:
# Create a tab delimited file
zz <- textConnection("foo", "w")
write.table(matrix(1:12, ncol=3), file=zz, sep="\t")
close(zz)
foo
# The simple way:
tabsep <- "\t"
# The hard way, or if data was passed from a web app and you need to clean it
tabsep <- gsub("\\\\t", "\t", "\\t")
# Read a tab delimited file
zz <- textConnection(foo)
read.table(zz, sep=tabsep)
close(zz)
Это дает следующий вывод:
V1 V2 V3
1 1 5 9
2 2 6 10
3 3 7 11
4 4 8 12