Изменение ячейки в фрейме данных без предварительного сохранения фрейма данных (аккуратный подход)

У меня есть фрейм данных, который я создал с помощью ряда конвейеров, но не начал с назначения <-. Это связано с тем, что я работаю в интерактивном режиме в rmarkdown и хочу включить окончательный результат в отчет без необходимости вызывать print для объекта. Итак, вот как выглядят данные:

df <- structure(list(n = c("1", "2", "3", "4", NA), 
                      nn = c(14695L, 4304L, 264L, 36L, 19299L)),
                 .Names = c("n", "nn"), row.names = c(NA, -5L), 
                 class = c("tbl_df", "tbl", "data.frame"))

print(df)
# A tibble: 5 x 2
  n        nn
  <chr> <int>
1 1     14695
2 2      4304
3 3       264
4 4        36
5 <NA>  19299 

Я хотел бы изменить NA в конвейере вместо того, чтобы делать назначение, как показано ниже, которое требует, чтобы я сохранил объект и нашел для него имя...

df[5, 1] <- "Sum". 

После этой корректировки я собираюсь передать результат в kable. Как я могу этого добиться? Спасибо


person xhr489    schedule 30.01.2019    source источник
comment
Используйте replace, т.е. df %>% mutate(n = replace(n, is.na(n), 'Sum'))   -  person Sotos    schedule 30.01.2019
comment
Или tidy способ df %>% replace_na(list(n = "Sum")) ?   -  person Ronak Shah    schedule 30.01.2019