导入的.csv文件中的所有数据都显示NA值

时间:2014-08-22 17:01:46

标签: r rstudio

我将一组数据导入RStudio,其中包含85个变量和139个观测值。所有值都是整数,除了最后一列是空白的,并且由于某种原因导入了我从.xls文件创建的.csv文件中的所有其他内容。因此,最后一列是NA个值。问题在于,当我尝试运行任何类型的分析时,似乎都在读取所有值都是NA值。尽管如此,在RStudio的数据窗口中,一切似乎都很好。这个问题的解决方案是否不涉及数据?几乎可以肯定的是数据是问题吗?在其他地方打开文件甚至在R

中查看时,这似乎很奇怪

3 个答案:

答案 0 :(得分:1)

最可能的问题是文件是作为所有文本而不是数字数据导入的。如果所有数据都是数字,则可以使用colClasses="numeric"作为read.csv()函数的参数,并且应该正确导入。您也可以在R中更改数据类,或者如果您的文件中有各种不同的数据类型(逻辑,字符,数字等),则为colClasses提供不同类的向量。

修改 看到colClasses不起作用(很难说为什么不查看您的数据),您可以试试这个:

MyDF<-data.frame(sapply(MyDF,FUN=as.numeric))

MyDF是您的数据框架。这会将所有列更改为数字。如果你有一些字符/因子/逻辑值,这可能无法按预期工作。您可能需要检查excel文件/ csv以查看它导入NA列的原因。可能是因为有一个单元格中有一个空间被拉入,这就是抛弃它。您可以随时尝试删除该空列并重试导入。

答案 1 :(得分:0)

如果要在读取数据本身时省略最后一列,可以尝试以下代码。在此示例中,我假设您的文件有5列,第5列有NA值。因此,您想跳过读取数据集中的第5列。

data <- read.csv (fileName, ....) [,1:4]

或者,如果要使用列名,可以使用:

data <- read.csv (fileName, ....) [,c('col1','col2','col3','col4')]

这将读取数据集中所选列的所有观察结果。

希望这会有所帮助。

答案 2 :(得分:0)

如果你也想找到平均值和标准差,你可以使用

Data<- mean( dataframe$colname , na.rm = TRUE) 
Data1<- sd( dataframe$colname , na.rm = TRUE) 

这将在省略列中的 na 值后为您提供答案