Создан новый столбец с использованием mutate, результатом является столбец, заполненный NA (но этот код работал для другого файла, который у меня есть) - PullRequest
0 голосов
/ 26 сентября 2018

Я использую tidyr и создаю новый столбец, используя mutate, чтобы суммировать, сколько 0 было возвращено в другом столбце, который у меня есть.По какой-то причине, хотя новый столбец формируется, я получаю NA по всему столбцу, даже когда вижу, что должен быть ответ, по крайней мере, один (например, я вижу 0 в столбце, но столбец «count» (total)все еще читает N / A ".

Этот код ранее работал над почти идентичным набором данных для того же типа вопроса, может кто-нибудь объяснить мне, что происходит? Копия моего кода ниже.

Gathered <- ScottCrkMeta250918 %>% 
                gather(SNP, Genotype, 43:234)

Prefailed <- Gathered %>% 
                group_by(NMFS_DNA_ID, BOX_ID,BOX_POSITION) %>% 
                mutate(Count = sum(Genotype == 0)) 

Я пытаюсь увидеть, сколько SNP не удалось, поэтому у меня 0 в столбцах, где произошел сбой. Я пытаюсь указать R подсчитать эти нули (сбои) и передать их мне в отдельномстолбец.

1 Ответ

0 голосов
/ 26 сентября 2018

К сожалению, вы не передаете данные, так что это немного догадка.Так что я догадываюсь , что Genotype содержит NA с.В этом случае попробуйте заменить ваш код на

Prefailed <- Gathered %>% 
    group_by(NMFS_DNA_ID, BOX_ID, BOX_POSITION) %>% 
    mutate(Count = sum(Genotype == 0, na.rm = TRUE))

. Вот минимальный воспроизводимый пример кода, демонстрирующий

set.seed(2018)
df <- data.frame(
    Genotype = sample(c(NA, 0, 1), 10, replace = T))

df %>%
    mutate(
        Count_without_NA_removed = sum(Genotype == 0),
        Count_with_NA_removed = sum(Genotype == 0, na.rm = T))
#   Genotype Count_without_NA_removed Count_with_NA_removed
#1         0                       NA                     5
#2         0                       NA                     5
#3        NA                       NA                     5
#4        NA                       NA                     5
#5         0                       NA                     5
#6        NA                       NA                     5
#7         0                       NA                     5
#8        NA                       NA                     5
#9         1                       NA                     5
#10        0                       NA                     5
...