相关疑难解决方法(0)

mutate是否通过引用更改tbl?

我真正喜欢的data.table:=通过引用更改表格的习惯用语,而不需要昂贵的副本.据我所知,data.table与其他方法相比,这是超快的方面之一.

现在,我开始玩dplyr这个看似同样高效的包.但由于结果仍然需要使用<-运营商进行分配,因此我预计此级别的性能会下降.然而,似乎没有.

举个例子:

library(dplyr)
library(Lahman)
library(microbenchmark)
library(ggplot2)

df <- Batting[ c("yearID", "teamID", "G_batting") ]

mb <- microbenchmark(
  dplyr = {
    tb <- tbl_df( df )
    tb <- tb %.%
      group_by( yearID, teamID ) %.%
      mutate( G_batting = max(G_batting) )
  },
  data.table = {
    dt <- as.data.table( df )
    dt[ , G_batting := max(G_batting), by = list( yearID, teamID ) ]
  },
  times = 500
)

qplot( data = mb, x …
Run Code Online (Sandbox Code Playgroud)

r dplyr data.table

16
推荐指数
2
解决办法
1388
查看次数

在dplyr链的所有列中替换NA

在dplyr链中替换NA的问题导致解决方案

dt %.% group_by(a) %.% mutate(b = ifelse(is.na(b), mean(b, na.rm = T), b))
Run Code Online (Sandbox Code Playgroud)

与dplyr.我想用dplyr链来估算所有colums.没有单个列可以分组,而是我希望所有数字列都通过诸如列均值之类的方式替换所有NAs.

使用tidyverse/dp用列方法替换所有NA的最优雅方法是什么?

r dplyr tidyverse

4
推荐指数
1
解决办法
3870
查看次数

标签 统计

dplyr ×2

r ×2

data.table ×1

tidyverse ×1