read.csv2()意外地将一行拆分为两行?

read.csv2()意外地将一行拆分为两行?,r,read.csv,R,Read.csv,要导入的csv文件有134行,每行具有不同的列数。链接到文件: 用于导入的R命令: allConsecCounts <- read.csv2("pathToFile/ConsecCounts.csv",header = FALSE,sep=",",fill = TRUE, strip.white = TRUE,allowEscapes = TRUE) allconcercounts问题在于您没有矩形数据集,并且数据表、矩阵和数据帧都需要R中的矩形。您有一些选项,您可能喜欢,也可能不喜欢:

要导入的csv文件有134行,每行具有不同的列数。链接到文件:

用于导入的R命令:

allConsecCounts <- read.csv2("pathToFile/ConsecCounts.csv",header = FALSE,sep=",",fill = TRUE, strip.white = TRUE,allowEscapes = TRUE)

allconcercounts问题在于您没有矩形数据集,并且数据表、矩阵和数据帧都需要R中的矩形。您有一些选项,您可能喜欢,也可能不喜欢:

您可以读入嵌套列表(伪Json)的列表并对其进行查询,这可能并不那么容易 或者使用循环和
readLines
,将每行设置为第一次出现的行名

如果条目是有序的,则可以使用
name[1]
name2[1]
访问表中的相同位置,至少在很长的行上的传统表空间用完之前是这样


但通过这种方式,每个变量的列表中可能有不同数量的对象。

问题在于,您没有矩形数据集,数据表、矩阵和数据帧都需要R中的矩形。您有一些选项,您可能喜欢,也可能不喜欢:

您可以读入嵌套列表(伪Json)的列表并对其进行查询,这可能并不那么容易 或者使用循环和
readLines
,将每行设置为第一次出现的行名

如果条目是有序的,则可以使用
name[1]
name2[1]
访问表中的相同位置,至少在很长的行上的传统表空间用完之前是这样


但通过这种方式,每个变量的列表中可能有不同数量的对象。

我得到了预期的134行。请尝试data.table packageThanks@RyanMorton中的fread让我知道。然而,它仍然不能在我的系统上工作。我希望这不是因为某些设置导致拆分大于特定长度的行,因为拆分的行似乎确实是最长的行。感谢@Shashank,但fread只适用于相同数量的列。嗯,这可能与您的代码无关。有时,当我拆分行时,通常是我存储数据的方式。可能尝试以不同的文件格式保存数据,并尝试使用适当的read.xxx()命令读取数据。我得到了预期的134行。请尝试使用data.table packageThanks@RyanMorton中的fread让我知道。然而,它仍然不能在我的系统上工作。我希望这不是因为某些设置导致拆分大于特定长度的行,因为拆分的行似乎确实是最长的行。感谢@Shashank,但fread只适用于相同数量的列。嗯,这可能与您的代码无关。有时,当我拆分行时,通常是我存储数据的方式。也许可以尝试以不同的文件格式保存数据,并尝试使用适当的read.xxx()命令读取数据。谢谢@bethanyP。实际上,readLines是另一种方式,我最初尝试过,后来放弃了,因为它需要更多的工作(循环、字符串拆分等),才能完成与数据帧/表相同的工作。然而,让我困惑的是read.csv2明显的不稳定行为,因为从技术上讲,它也应该能够通过正确插入NAs来处理不规则的列大小。我对此做了一些调查,但它也不适用于我。它清楚地将第一行的名称向上移动,然后从第二行到最后一行添加一个值作为包装行的行名…如果您知道每行的长度,您可以显式地给出尺寸,并告诉它添加NA。你是如何使用这些数据的?是的。我也这么做了。我通过在数据中填充NA使其列相等(在Java中)来避免这个问题。现在它被正确地读取,一切都在R中工作。数据主要按类别分组使用(即,从行标签中提取),一些转换使用data.table和reforme2包完成。然后生成聚合和分布统计/图。谢谢。谢谢@bethanyP。实际上,readLines是另一种方式,我最初尝试过,后来放弃了,因为它需要更多的工作(循环、字符串拆分等),才能完成与数据帧/表相同的工作。然而,让我困惑的是read.csv2明显的不稳定行为,因为从技术上讲,它也应该能够通过正确插入NAs来处理不规则的列大小。我对此做了一些调查,但它也不适用于我。它清楚地将第一行的名称向上移动,然后从第二行到最后一行添加一个值作为包装行的行名…如果您知道每行的长度,您可以显式地给出尺寸,并告诉它添加NA。你是如何使用这些数据的?是的。我也这么做了。我通过在数据中填充NA使其列相等(在Java中)来避免这个问题。现在它被正确地读取,一切都在R中工作。数据主要按类别分组使用(即,从行标签中提取),一些转换使用data.table和reforme2包完成。然后生成聚合和分布统计/图。谢谢