在R中读取不太正确的.csv文件

时间:2013-03-29 12:26:09

标签: r csv dataframe

我有以下格式的.csv文件:

A, B, C
...
2.0, 4.0, 2.0^ 
...
7.3, 1.3, 6.8^ 
...

其中^表示以“,”开头的符号的任意组合,例如,,,,d..k3.4,,,,2,3f,,,,最后总是有行尾。我希望我的输出框架是:

     A   B   C
    ...
    2.0 4.0 2.0 
    ...
    7.3 1.3 6.8
    ...

如何将此文件读入框架?

1 个答案:

答案 0 :(得分:1)

你的例子不清楚。你应该向我们展示你的文本文件的2行或3行。

假设您的文件是这样的:

TEXT <- 'A, B, C
2.0, 4.0, 2.0,,,,,d..k3.4,,,,2,3f,,,
7.3, 1.3, 6.8,,,,,,2,3f,,,'

您可以使用read.table选项fill=TRUE

来阅读
dat <- read.table(text=TEXT,header=FALSE,sep=',',fill=TRUE) 
dat <- dat[,colSums(is.na(dat))<nrow(dat)]
(dat <- dat[-1,])
  V1   V2   V3      V8 V9 V10 V12 V13
2 2.0  4.0  2.0 d..k3.4 NA       2  3f
3 7.3  1.3  6.8          2  3f  NA