锅炉信息网 > 锅炉知识 > 锅炉资讯

R语言高速unnest

发布时间:

作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限

作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言数据高效处理指南》(《R语言数据高效处理指南》(黄天元)【摘要 书评 试读】- 京东图书,《R语言数据高效处理指南》(黄天元)【简介_书评_在线阅读】 - 当当图书)。知乎专栏:R语言数据挖掘。邮箱:huang.tian-yuan@qq.com.欢迎合作交流。


熟悉tidyr::unnest函数的应该知道,在使用column-list的时候,需要把其还原为本来的数据框就需要这个函数(这种操作想必在SQL里面也不曾存在,是高级操作)。我以前做的时候数据量比较少,因此没有意识到海量数据的时候它可能会慢。但是一个帖子给了一些启示,并编写了一个函数来加速这个过程,因此这里援引一下:

library(pacman)np_load(rlang,data.table,tidyverse)nunnest_dt <- function(tbl, col) {nn tbl <- as.data.table(tbl)nn col <- ensyms(col)nn clnms <- syms(setdiff(colnames(tbl), as.character(col)))nn tbl <- as.data.table(tbl)nn tbl <- eval(n expr(tbl[, as.character(unlist(!!!col)), by = list(!!!clnms)])n )nn colnames(tbl) <- c(as.character(clnms), as.character(col))nn tbln}

原链接为:

https://www.johannesbgruber.eu/post/a-faster-unnest/

以后需要高速unnest的时候,一定会回来取用。

精选推荐

  • 如何正确选择白板供应商
    如何正确选择白板供应商

    目前在无锡想采购一块白板不管是实体店铺,还是网络平台都有很多选择,想要到专业的无锡白板公司采购还需要掌握一定的方式技巧。现

  • 柴油发电机组供应商
    柴油发电机组供应商

      t 扬州华东动力机械有限公司,位于江苏省扬州市江都区仙城工业园,是专业从事发电机、柴油及燃气发电机组研发、制造、销售、服务于

  • 高温辐射炉
    高温辐射炉

    5.2.2高温辐射炉5.2.2.1温度控制★(1)样品温度范围:常温~1400℃。★(2)均温区:长度不小于80mm。★(3)中心区:长度不小于10mm。(4)温度梯度(均

  • 高压锅在什么情况下会爆炸?
    高压锅在什么情况下会爆炸?

    近日,多地发生高压锅爆炸事故,给不少家庭带来了伤害和财产损失。那么,什么情况下会导致高压锅爆炸呢?首先,当高压锅内部压力过高时,如果

0