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