警告消息:缺少缺少的列

时间:2020-07-28 13:00:53

标签: r warnings

我有一个文本文件,使用以下代码将其转换为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)

1 个答案:

答案 0 :(得分:0)

我相信您的软件包正在使用readr::read_delim()函数来读取文本文件。该警告意味着它正在数据中看到47列,但没有看到所有47列标题都用作列名。您提供的样本数据只有45列,均已命名,因此您的程序包可能会将多余的列作为其工作的一部分。

有几种方法可以获取此错误,包括:

  1. 根据文件准备情况,您还有多余的空列。 (例如,Excel可以在文件中放置额外的列。)
  2. 您的字符串列并不总是正确地定界/引用,因此某些行看起来好像有多余的列。

我将使用readr::read_delim()直接读取您的文件,并检查结果以查看是否需要进行进一步的清理。这不是一个完整的答案,但希望它能帮助您指出正确的方向。