仅将一列的数据类型从 dbl 更改为 int

Change data type from dbl to int for one column only

分配任务: 需要帮助将 n 列的数据类型更改为整数格式。

代码如下:

pizza %>%
  select(day,driver,free_wine)%>%
  group_by(day,driver)%>%
  summarise(n=sum(free_wine,na.rm=TRUE),.groups = 'drop')%>%
  arrange(desc(n))%>%
  head(1)%>%
  as.integer(n)

注意:n 列的当前数据格式为 dbl - 我只能使用 tidyverse 库并且更喜欢使用函数 as.integer().

代码不工作 - 给出以下错误

Warning in pizza %>% select(day, driver, free_wine) %>% group_by(day, driver) %>%  :
  
NAs introduced by coercion

并给出这个输出:

[1] NA NA 20

预期输出应为以下格式

Day       Driver  n
<chr>     <chr>   <int>
Thursday  Rick    20

您编写的代码将整个数据帧传递给 as.integer()。要将其仅应用于一列,您可以将其添加到您的 summarise() 调用中:

pizza %>%
  select(day,driver,free_wine)%>%
  group_by(day,driver)%>%
  summarise(n=as.integer(sum(free_wine,na.rm=TRUE)),.groups = 'drop')%>%
  arrange(desc(n))