标签: dtplyr

tidyverse 中的非等值加入

我想知道是否有人知道dplyr扩展包 (dbplyrdtplyr) 是否允许在通常的 dplyr 工作流程中进行非等值连接?我很少需要data.table,但快速非等值连接是我总是需要的唯一时刻setDT,然后执行连接,然后用 切换回来as_tibble()。我浏览了 github 上的包中的问题,但没有找到这是计划中的还是已经实现的。

join r dplyr dtplyr dbplyr

12
推荐指数
2
解决办法
1986
查看次数

将dplyr转换为data.table

所以我正在尝试翻译一些dplyr代码。我试图从将dplyr转换为data.table的程序包中获得帮助,但仍然无法正常工作。错误是row_number来自dplyr..

我需要dplyr代码中的所有步骤(即使在这里没有用mtcars

library(dplyr)
library(dtplyr) # from https://github.com/tidyverse/dtplyr
library(data.table)

mtcars %>% 
  distinct(mpg, .keep_all = TRUE) %>% 
  group_by(am) %>% 
  arrange(mpg, .by_group = TRUE) %>% 
  mutate(row_num = LETTERS[row_number()]) %>% 
  ungroup() 

# using dtplyr
dt <- lazy_dt(mtcars)

dt %>% 
  distinct(mpg, .keep_all = TRUE) %>% 
  group_by(am) %>% 
  arrange(mpg, .by_group = TRUE) %>% 
  mutate(row_num = LETTERS[row_number()]) %>% 
  ungroup() %>% 
  show_query()
#> unique(`_DT1`, by = "mpg")[order(am, mpg)][, `:=`(row_num = c("A", 
#> "B", "C", "D", "E", "F", "G", "H", "I", …
Run Code Online (Sandbox Code Playgroud)

r dplyr data.table dtplyr

5
推荐指数
3
解决办法
376
查看次数

使用 dtplyr 时,pivot_longer 给出错误

我有一个大型数据集,正在尝试使用 dtplyr 进行整理。它由不同位置的大量 (>1000) 日期值对组成。原始版本使用了pivot_longer,它在dplyr中工作正常,但在dtplyr中给出错误。有没有办法解决这个问题,保持 dtplyr 的性能优势?

这有效

library(tidyverse)
library(dtplyr)
library(data.table)

my_data_tb <- tribble(
  ~`date-A`, ~`value-A`, ~`date-B`, ~`value-B`,
  "date1", 1, "date2", 2,
  "date2", 1, "date3", 2 
)

my_data_tb %>% 
  pivot_longer(
  cols = everything(),
  names_to = c(".value", "grid_square"),
  names_sep = "-"
)
Run Code Online (Sandbox Code Playgroud)

但这给出了错误:

my_data_dt <- as.data.table(my_data_tb)
my_data_dt <- lazy_dt(my_data_dt)

my_data_dt %>%
  pivot_longer(
    cols = everything(),
    names_to = c(".value", "grid_square"),
    names_sep = "-"
  )
Run Code Online (Sandbox Code Playgroud)

错误信息是:

错误:无法对不存在的元素进行子集化。
x 位置 1 和 2 不存在。
i 只有 0 个元素。
运行rlang::last_error()看看哪里出错了。
另外:警告消息:
预计 2 …

r dplyr data.table dtplyr

5
推荐指数
1
解决办法
1221
查看次数

我无法在data.table中使用dtplyr做什么

这个问题是关于理解,我要投资我的学习精力用于数据R.之间扯皮具体dplyrdtplyrdata.table。我dplyr主要使用数据,但是当数据太大而无法使用时data.tabe,这种情况很少发生。因此,现在dtplyrv1.0已成为的接口data.table,从表面上看,我似乎再也不需要担心data.table再次使用该接口。

那么,目前尚不能使用的最有用的功能或方面data.table是什么dtplyr,而将来可能永远无法使用dtplyr

从表面上看,dplyr借助的好处,data.table它听起来像dtplyr会超越dplyr。会不会有任何理由来使用dplyr,一旦dtplyr已经完全成熟?

注意:我不是在问dplyrvs data.table(就像在data.table vs dplyr中:一个人可以做得很好而另一个不能做得不好或做得不好吗?),但是鉴于在一个特定问题上一个人比另一个人更受青睐,为什么呢?牛逼dtplyr是使用工具。

r dplyr data.table dtplyr

3
推荐指数
3
解决办法
251
查看次数

标签 统计

dplyr ×4

dtplyr ×4

r ×4

data.table ×3

dbplyr ×1

join ×1