为什么read.table导致多行放在一行?

时间:2014-12-02 12:21:56

标签: r read.table

我使用以下代码加载一些数据。

movies <- read.table("movies.dat", header=FALSE, sep="\n")

大部分数据都加载得很好,如下所示:

 58 58::Postman, The (Postino, Il) (1994)::Comedy|Drama|Romance   
 59 59::Confessional, The (Confessionnal, Le) (1995)::Drama|Mystery  
 60 60::Indian in the Cupboard, The (1995)::Adventure|Children|Fantasy 

每行的第一个数字是R中的行号,其余的是一列中的字符串。 但有些行显示如下:

111 114::Margarets Museum (1995)::Drama       
    115::Happiness Is in the Field (Bonheur est dans le pré, Le) (1995)::Comedy       
    116::Anne Frank Remembered (1995)::Documentary       
    117::Young Poisoners Handbook, The (1995)::Crime|Drama 

再次,粗体111是行号。在行111中,放置了4行而不是仅一行。我检查了源.dat文件,格式似乎没有区别导致这个。在原始.dat文件中,所有rownumber也与id号(第二个数字)对应。但在R中,有些行被放置在一个rownumber中。

有谁知道问题是什么以及如何再次获得每行一行?

编辑:顺便说一下,如果有人想要复制,这里是我使用的数据集(MovieLens)http://grouplens.org/datasets/movielens/

1 个答案:

答案 0 :(得分:0)

很抱歉,显然我误用了分隔符(刚开始使用R)。使用Ilir建议使用函数readLines()解决了它。我使用它而不是read.table来读movies.dat。

  

电影&lt; - readLines(“movies.dat”)

然后将其放入数据框

  

dataframe&lt; - data.frame(movies)

感谢Ilir!