【发布时间】:2025-12-20 20:55:11
【问题描述】:
我在 Microsoft Excel 中有一个 XLSX 文件(“my_file.xlsx”)。其中一列包含因子变量 - 在此列中,有许多“空白值”(这些显示为完整的空单元格)。当您在 Excel 中过滤这些时,它们看起来像这样(空白):
library("readxl")
my_data <- read_excel("my_file.xlsx")
问题是,当我将此文件导入 R 时 - 我之前提到的列完全替换为 NA。当我使用"str()" 命令检查文件时,此列类型显示为"logi : NA NA NA .."。
如果该列的实际空单元格已替换为 NA,我不会感到惊讶 - 但我无法弄清楚为什么该列的所有单元格都已替换为 NA。
有谁知道为什么会发生这种情况?将文件转换为 CSV,然后将其导入 R 是否更好?
谢谢!
【问题讨论】:
-
嗯。我在使用
readr::read_csv从 csv 导入时也遇到的一个问题是read_excel默认从前 1000 行中猜测数据类型。如果碰巧前 1000 行仅包含 NA,则该列被猜测为logical类型,并且您最终得到一个仅包含 NA 的列。一种解决方法是增加guess_max或手动设置col_types。