使用 read_excel 和缺失值在 R 中导入数据
Importing data in R with read_excel and missing values
我目前正在学习如何将 excel 导入数据框。我已经研究过了,但到目前为止我找不到答案。
有几行数据表示自 2013 年以来的每个月,其中每月大约有 150 行(按位置)。每个位置,每个月都有一组数据,例如人数,以及一些其他相关的数字和字符数据。随着文件的开发和方法的改变,一些列有空白,但列的其余部分是数字。例如Number_of_PPL是从2019年开始记录的,所以之前的值都是空白。
我知道我可以将空白更改为零,但我不想将其与 0 人与无数据相混淆。
使用以下内容导入时:
df <- data.frame(read_excel("UPLOAD_DATA.xlsx", sheet="ALL DATA",na=""))
str(df)
给出:
$ Number_of_PPL : logi NA NA NA NA NA NA ...
带空格的列被视为逻辑列而不是数字列。我尝试转换为数字,但这给了我 0,1 或 NA 值,而不是数据的真实值。我不想省略带有 NA 的行,因为它们包含该位置的其他相关数据。
有没有办法将这些列导入为数字,这样我仍然可以在图表中表示它们并在以后进行计算而不插入零?
编辑/更新
这是从 excel 上传的数据示例:
数字数据与空白的转换发生在 Number_of_PPL 列的第 12,520 行。到目前为止,当使用 Read_xl 时,我发现它会猜测这是逻辑数据。如果我在较早的行中输入数字,即。 Row1,read_xl 将把该列单独视为数字。
col_names的建议完美地强制它成为数字,但是就效率和未来的数据集而言,我更愿意找出是否有办法让read_xl 在假设数据是合乎逻辑的之前,先深入了解数据?
很明显,它能够获取空白行,分配 NA 并仍然称其为数字,但它似乎与数据列中数字出现的位置有某种关系,在这种情况下,它们似乎太远了“向下
增加 guess_max
的值已解决此问题。
df = data.frame(read_excel("UPLOAD_DATA.xlsx",
sheet="所有数据",na="", <strong>guess_max=Inf</strong>))
感谢@benbolker
我目前正在学习如何将 excel 导入数据框。我已经研究过了,但到目前为止我找不到答案。
有几行数据表示自 2013 年以来的每个月,其中每月大约有 150 行(按位置)。每个位置,每个月都有一组数据,例如人数,以及一些其他相关的数字和字符数据。随着文件的开发和方法的改变,一些列有空白,但列的其余部分是数字。例如Number_of_PPL是从2019年开始记录的,所以之前的值都是空白。
我知道我可以将空白更改为零,但我不想将其与 0 人与无数据相混淆。
使用以下内容导入时:
df <- data.frame(read_excel("UPLOAD_DATA.xlsx", sheet="ALL DATA",na=""))
str(df)
给出:
$ Number_of_PPL : logi NA NA NA NA NA NA ...
带空格的列被视为逻辑列而不是数字列。我尝试转换为数字,但这给了我 0,1 或 NA 值,而不是数据的真实值。我不想省略带有 NA 的行,因为它们包含该位置的其他相关数据。
有没有办法将这些列导入为数字,这样我仍然可以在图表中表示它们并在以后进行计算而不插入零?
编辑/更新
这是从 excel 上传的数据示例:
数字数据与空白的转换发生在 Number_of_PPL 列的第 12,520 行。到目前为止,当使用 Read_xl 时,我发现它会猜测这是逻辑数据。如果我在较早的行中输入数字,即。 Row1,read_xl 将把该列单独视为数字。
col_names的建议完美地强制它成为数字,但是就效率和未来的数据集而言,我更愿意找出是否有办法让read_xl 在假设数据是合乎逻辑的之前,先深入了解数据?
很明显,它能够获取空白行,分配 NA 并仍然称其为数字,但它似乎与数据列中数字出现的位置有某种关系,在这种情况下,它们似乎太远了“向下
增加 guess_max
的值已解决此问题。
df = data.frame(read_excel("UPLOAD_DATA.xlsx",
sheet="所有数据",na="", <strong>guess_max=Inf</strong>))
感谢@benbolker