0

我想帮助如何使用 R 中“tidyverse”包中的 summarise 处理 NaN

#library('tydiverse')
smple<-tibble(
          g=c('pina','pina','arroz','arroz','arroz','manzana', 'manzana'),
          x=c(1,2,NaN,2,3,4,5),
          y=c(3,4,3,NaN,2,3,2)
      )
   #outpu1: get some NaN
   smple %>% group_by(g) %>% summarise_all(sum)#get some NaN

   #output2: condition doesn't work
  smple %>% group_by(g) %>% summarise_if(~!is.nan(.),sum) 

  #output3: condition works with filter, but results wrong
  smple %>% group_by(g) %>%filter_all(~!is.nan(.)) %>% 
  summarize_all(sum)

我想要做的是避免使用 NaN 值并聚合可用的值。

如果您可以描述为什么它不能与 summarise_if 一起使用,将不胜感激,以便更好地理解,以及为什么我不能在输出 3 中获得正确的值(对于 g='arroz',它应该是 x=5,y=5 ) 如果至少在一列中满足条件,我认为 filter_all 正在删除整行,但我需要删除每一列的 NaN 并为每一列应用聚合函数。谢谢

4

0 回答 0