从制表符分隔的.txt文件中读取包含空格的字符串到R中

时间:2012-06-26 00:59:51

标签: r whitespace read.table

我有一个制表符分隔的文本文件,其中包含包含空格的字符串名称。它是python例程的输出。文本文件如下所示,带有隐藏的'\ t'字符。

Mother's Day    Breakfast in Bed    Breakfast in Bed    Arkadia Tea Chai Spice 240g 6.69    False
Mother's Day    Breakfast in Bed    Breakfast in Bed    Coles Crumpets 6 pack   2.29    False
Mother's Day    Entertainment   Entertainment   4 Ingredients Book 1 by Kim McCosker & Rachael Bermingham 1 each    14.00   False
Pantry  Baking  Cake Mix    White Wings Red Velvet Cake 425g    4.61    False

由于文件是制表符分隔符,例如excel会识别出有六列 - 这正如我所愿。

我希望它在R中有六列的表中,列被视为因子。

我已经阅读了文档,似乎指定分隔符应该可以工作 - 但是我无法通过以下方式将其工作:

fullSurvey <- read.table(file="C:/1.txt", check.names=FALSE, header=FALSE, sep="\t", stringsAsFactors=TRUE)

它返回:

Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
line 2 did not have 15 elements

这可能在R?

1 个答案:

答案 0 :(得分:1)

(将评论移至答案,希望将其标记为已解决)。

通常情况下,当您的输入是制表符分隔符时,您可以尝试使用read.delimread.csv与csv文件一样,read.table通常具有合理的默认值。

如果您的数据包含撇号,单引号或双引号,则可能需要指定用于引用字符的值,或指定quote = ""以保留嵌入式引号。