首页 > 解决方案 > 如果最后一行要删除一列,R 函数不会返回 data.table

问题描述

我加入了两个 data.tables,删除了连接列并返回了连接的数据表。当函数被调用时,它返回 null。如果我在返回之前打印数据表,它会返回。即使没有尝试其他操作,例如 str 或 setorder 。为什么会这样?

library(data.table)
dmap <- function(){
    xx = unlist(strsplit('abcpqr', ''))
    div = data.table(division=rep(c('abc', 'pqr'), each=3), state=xx)
    stc = data.table(state=xx, stcd = 1:6)
    div = div[stc, on='state']
    div[, state := NULL]
    # print(str(div))
    # setorder(div, stcd)
    # print(div)
    return(div)
}

dmap()

在 MacOS 11.5.2 (20G95) R 版本 4.0.3 (2020-10-10) 上尝试过——“Bunny-Wunnies Freak Out”数据表 1.14.1

Red Hat Enterprise Linux release 8.3 (Ootpa) R version 4.0.5 (2021-03-31) -- "Shake and Throw" data.table 1.14.0 使用 8 个线程

标签: rdata.table

解决方案


推荐阅读