我有一个大tibble(这里)。我通过使用这个原始数据集并运行以下命令创建了它(这里是上一篇文章):
#this code seemed to work
library(tidyverse)
df_tib <- df_full_subset %>%
pivot_longer(cols = everything(), names_to = c("name", ".value"), names_pattern = "(.*)_(.*)") %>%
select(-name) %>%
pivot_wider(names_from = "01", values_from = "02", values_fn = list)
Run Code Online (Sandbox Code Playgroud)
正如在上一篇文章中可以看到的,最后一段代码用于取消数据的嵌套。这对我来说不起作用,所以我修改了小标题,发现了一些垃圾列(例如一列 NA),并删除了那些可能有帮助的想法。但是,我不断收到相同的错误:"Error: Incompatible lengths: 254, 257"。这对我来说就像dplyr是在与第 254 行和第 257 行中的 NA 作斗争,但我看过其他帖子,这似乎很容易处理(就像使用的这个filter),并且这些解决方案不适用于此数据。
#cleaning the data
df_tib$habitat <- df_tib$habitat_
df_tib$species <- df_tib$species_
df_tib <- janitor::clean_names(df_tib)
df_tib <- df_tib %>%
select(-habitat_,-species_, -na)
df_tib <- df_tib %>%
unnest(cols = everything()) #does not work
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助。
X我刚刚注意到您的数据中有第一列,不需要包含在您的pivot_longer声明中。要旋转除 X 之外的所有列,您可以执行以下操作pivot_longer(cols = -X, ...)。
我还添加了drop_na您可能想要的内容pivot_longer。该NA列还缺少值、objectid 和 editMode。
试试这个:
\nlibrary(tidyverse)\n\ndf %>%\n pivot_longer(cols = -X, names_to = c("name", ".value"), names_pattern = "(.*)_(.*)") %>%\n drop_na %>%\n select(-name) %>%\n pivot_wider(names_from = "01", values_from = "02", values_fn = list) %>%\n unnest(cols = everything())\nRun Code Online (Sandbox Code Playgroud)\n输出
\n X bearing_degrees coordinates distance_meters habitat_ how_many_animal\xe2\x80\xa6 observers species_ was_a_group_of_\xe2\x80\xa6 was_the_animal_\xe2\x80\xa6 width_of_the_ro\xe2\x80\xa6 what_species_of\xe2\x80\xa6 livestock\n <int> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> \n 1 1 200 N1.20701 E\xe2\x80\xa6 100 open_sc\xe2\x80\xa6 4 TW2 giraffe group_ "alive" single_lane NA NA \n 2 2 300 N1.20195 E\xe2\x80\xa6 20 commiph\xe2\x80\xa6 NA TW2 o gerenuk individual "alive" single_lane NA NA \n 3 3 10 N1.18823 E\xe2\x80\xa6 80 open_sc\xe2\x80\xa6 NA TW2 bird individual "alive" single_lane Ostrich NA \n 4 4 20 N1.15642 E\xe2\x80\xa6 180 open_sc\xe2\x80\xa6 300 TW2 livesto\xe2\x80\xa6 group_ "alive" single_lane NA shoat \n 5 5 300 N1.14868 E\xe2\x80\xa6 30 open_sc\xe2\x80\xa6 7 TW2 livesto\xe2\x80\xa6 group_ "alive" single_lane NA cattle \n 6 6 70 N1.13874 E\xe2\x80\xa6 200 open_sc\xe2\x80\xa6 34 TW2 livesto\xe2\x80\xa6 group_ "alive" single_lane NA cattle \n 7 7 20 N1.11442 E\xe2\x80\xa6 40 disturb\xe2\x80\xa6 12 TW2 livesto\xe2\x80\xa6 group_ "alive" single_lane NA cattle \n 8 8 NA N1.03003 E\xe2\x80\xa6 NA commiph\xe2\x80\xa6 NA TW2 jackal NA "roadkill" single_lane NA NA \n 9 9 40 N1.97961 E\xe2\x80\xa6 50 mixed_s\xe2\x80\xa6 null TW2 gerenuk individual "alive,\\n wh\xe2\x80\xa6 NA NA null \n10 10 20 N0.85822 E\xe2\x80\xa6 20 dense_s\xe2\x80\xa6 53 TW2 baboon group_ "alive" single_lane NA NA \n# \xe2\x80\xa6 with 251 more rows, and 5 more variables: approximate_age_of_individual <chr>, approximate_number_of_days_sinc <chr>, sex_of_animal <chr>, generated_note_survey <chr>,\n# `_date` <chr>\nRun Code Online (Sandbox Code Playgroud)\n