r - 警告消息:缺少的列已填写
问题描述
data.frame
我有一个文本文件,我使用以下代码将其转换为:
library(auk)
practice_ebd <- "bar-tailed_godwit-2000-2020.txt" %>% read_ebd()
带有此警告消息:
警告消息:缺少填写的列名:'X47' [47]
这是什么意思,我应该担心吗?
输出代码示例:
structure(list(checklist_id = "S53530969", global_unique_identifier = "URN:CornellLabOfOrnithology:EBIRD:OBS720726875",
last_edited_date = "2020-04-09 23:16:21", taxonomic_order = 5822,
category = "species", common_name = "Bar-tailed Godwit",
scientific_name = "Limosa lapponica", observation_count = "12",
breeding_bird_atlas_code = NA_character_, breeding_bird_atlas_category = NA_character_,
age_sex = NA_character_, country = "Taiwan", country_code = "TW",
state = "Chiayi County", state_code = "TW-CYQ", county = NA_character_,
county_code = NA_character_, iba_code = NA_character_, bcr_code = NA_integer_,
usfws_code = NA_character_, atlas_block = NA_character_,
locality = "<U+5609><U+7FA9><U+9C32><U+9F13><U+6FD5><U+5730>IBA--<U+5168><U+5340>(Aogu Wetland IBA)(New)",
locality_id = "L3980078", locality_type = "H", latitude = 23.5004231,
longitude = 120.1357877, observation_date = structure(11210, class = "Date"),
time_observations_started = "07:45:00", observer_id = "obsr1073600",
sampling_event_identifier = "S53530969", protocol_type = "Historical",
protocol_code = "P62", project_code = "EBIRD", duration_minutes = 225L,
effort_distance_km = NA_real_, effort_area_ha = NA_real_,
number_observers = NA_integer_, all_species_reported = TRUE,
group_identifier = NA_character_, has_media = FALSE, approved = TRUE,
reviewed = FALSE, reason = NA_character_, trip_comments = "(CWBF uploading notes: reporter:<U+76E7><U+51A0><U+5B89> <U+89C0><U+5BDF><U+65B9><U+6CD5>:<U+6B77><U+53F2><U+7D00><U+9304> fid=34420)", species_comments = "8<U+590F><U+7FBD>"), row.names = c(NA, -1L), class = c("tbl_df", "tbl", "data.frame"), rollup = TRUE)
解决方案
我相信你的包正在使用readr::read_delim()
函数来读取文本文件。该警告意味着它在数据中看到了 47 列,但没有看到所有 47 列的列标题用作列名。您提供的示例数据只有 45 列,均已命名,因此您的程序包可能会删除额外的列作为其工作的一部分。
有几种方法可以获得此错误,包括:
- 根据您的文件准备,您有额外的空列。(例如,Excel 可以在文件中放置额外的列。)
- 您的字符串列并不总是被适当地分隔/引用,因此有些行看起来像是有额外的列。
我会readr::read_delim()
直接读取您的文件,并检查结果以查看是否需要进一步清理工作。不是一个完整的答案,但希望它可以帮助您指出正确的方向。
推荐阅读
- python - 烧瓶应用程序在heroku上抛出未找到错误
- java - ESAPI中关于Java(Springboot)的XSS预防在web上显示实体中文代码
- docker - 如何跟踪日志直到在 PowerShell 中匹配字符串
- c++ - 带有 WTSEnumerateSessionsEx 的 C6387 警告
- python - 如何在 tkinter 中将新按钮添加到默认窗口管理器的控件中?
- java - 如何通过静态出口 IP 从 Cloud Run 连接到 Cloud SQL 和外部流量?
- list - 有人可以解释为什么我不能将变量分配为反向列表吗?
- reactjs - 当子级需要父级先前状态时,如何拆分嵌套的 setStates?
- powershell - Powershell Gui 不返回 SQL 查询结果
- sql - SQL:每组乘以行值