使用R从csv文件导入时,如何使用NA值删除多余的行和列

时间:2015-10-27 15:25:21

标签: r csv na

我刚刚开始学习R.我试图从.csv文件输入数据但是R不断添加额外的行和列,其中包含NA值。有谁知道为什么会发生这种情况?任何有关删除这些NA的建议都将不胜感激。我使用了以下代码:

>no_col <- max(count.fields("6%AA_comp.csv", sep=","))
>mydata <- read.csv(file="6%AA_comp.csv", fill=TRUE, header=TRUE, col.names = 1:no_col-1)
>mydata

X0     X1     X2     X3 X4
1  206428 152160 122080 111940 NA
2  183620 148300 118820 107260 NA
3  169100 164480 151420 146200 NA
4  179000 135920 107340  93540 NA
5  213820 146640 113040 109140 NA
6  150920 141400 133600 132000 NA
7  185645 154000 124510 128900 NA
8  176102 139100 141000 110300 NA
9  159045 154350 121050 153500 NA
10 198610 161000 119000 105600 NA
11 183100 138900 141500 129550 NA
12 211050 142550 136700 113500 NA
13 167000 150100 120000 102540 NA
14     NA     NA     NA     NA NA
15     NA     NA     NA     NA NA
16     NA     NA     NA     NA NA

2 个答案:

答案 0 :(得分:0)

当你从csv文件中删除一些行然后尝试导入它们时,通常会发生这种情况。

如果是一次性,最简单的解决方案是在excel中打开csv并删除最后一行数据下面的所有行。

解决下面的评论,我们可以做这样的事情

<system.serviceModel></system.serviceModel>

其中MAT是导入的矩阵。

上面的代码将处理所有空行。你可以为列做类似的事情。

希望这有帮助。

答案 1 :(得分:0)

嗯,数据清理总是工作的一半或更多。您可以做的是按原样读取文件,然后通过仅索引您感兴趣的行和列来清理它,在这种情况下,这将是:

mydata <- read.csv(file="6%AA_comp.csv", fill=TRUE, header=TRUE)
mydata <- mydata[1:13, 1:5]