在 R 中加载 CSV 文件加载 NA 观察作为最后一个数据集。为什么会这样?

Loading CSV file in R loads a NA observation as the last dataset. Why does this happen?

我正在处理来自 kaggle 的 titanic 数据集,并注意到在数据集的末尾加载了一个 missing/blank 观察结果,如屏幕截图所示

使用 read.csv 将数据集加载到 R

使用 read_csv 将数据集加载到 R 中

我使用了两种方法来查看差异,但两种方法都以相同的方式加载,即将数据集中的最后一个 row/observation 作为 NA 加载到 R 中。一个明显的区别是 read_csv 已将最后一次观察的所有变量值加载为 NA,其中 read.csv 只加载了其中的一部分。

titanic_original_read_csv <- read_csv("titanic_original.csv", col_names = TRUE)

titanic_original_readcsv <- read.csv("titanic_original.csv", header = TRUE)

我检查了 csv 文件,它有 1310 行,包括 header 列。因此,当它加载到 R 中时,它应该只有 1309 个观察值。

为什么 NA 加载为我加载的数据集中的最后一个观察值?有什么我遗漏的吗?

r <- readLines("titanic_original.csv");r[length(r)] @RemkoDuursma 提供的响应有助于识别 csv 文件末尾有一个不完整的行。

原始文件是 xlsx 格式,但我已将其保存为 csv 并尝试使用 read_csv 函数加载。但是在这个转换过程中,一些不完整的行是如何被加起来的。

主要是说是转换问题,建议使用read_excel函数加载xlsx文件,避免随时将xlsx转换成csv。