Проблема связана с дополнительным столбцом Percentage в вашем фактическом наборе данных, которого нет в приведенном выше примере. Так как в вашем наборе данных есть дополнительный столбец, который не указан в функции pivot_wider, каждая строка обрабатывается уникально и, следовательно, неверная квадратная матрица.
Если исключить дополнительный столбец (в процентах) и выбрать только нужные столбцы (Organisam, Reads и Name), pivot_wider будет работать так, как нужно.
df-structure(list(Organism = c("Unclassified", "Peptoniphilus methioninivorax", "Myroides odoratimimus", "Enterococcus sulfureus", "Peptoniphilus olsenii", "Dysgonomonas wimpennyi"), Reads = c(95345, 78055, 63769, 14849, 14229, 13245), Percentage = c(28.95375, 23.70324, 19.36496, 4.509248, 4.320971, 4.022156), Name = c("Marg F6O", "Marg F6O", "Marg F6O", "Marg F6O", "Marg F6O", "Marg F6O")), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))
library(tidyr)
df %>% pivot_wider(names_from = Organism, values_from = Reads)
## Does not provide the desired Results!
Рабочая версия:
library(dplyr)
df %>% select(-Percentage) %>% pivot_wider(names_from = Organism, values_from = Reads)
# # A tibble: 1 x 7
# Name Unclassified `Peptoniphilus met~ `Myroides odorat~ `Enterococcus su~ `Peptoniphilus o~ `Dysgonomonas wi~
# <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
# 1 Marg ~ 95345 78055 63769 14849 14229