R:用数据来表示重叠。表慢,有没有更快的替代方案?
我得到了一个表,我想在其中使用查找表替换单个列的值 使用lappy,效果很好。 然而,有了庞大的数据集,它可以运行数小时 有更快的选择吗? 谢谢 MWE:R:用数据来表示重叠。表慢,有没有更快的替代方案?,r,data.table,lapply,R,Data.table,Lapply,我得到了一个表,我想在其中使用查找表替换单个列的值 使用lappy,效果很好。 然而,有了庞大的数据集,它可以运行数小时 有更快的选择吗? 谢谢 MWE: require(data.table) #虚拟数据。 dtu lookup您可以使用match实现查找表 i您可以使用match实现查找表 i如果我没有误解什么,你可以做一个简单的连接: dt[dt_lookup, cls := i.cls_new, on = .(cls = cls_old)] dt # cls data #1: 1
require(data.table)
#虚拟数据。
dtu lookup您可以使用match
实现查找表
i您可以使用match
实现查找表
i如果我没有误解什么,你可以做一个简单的连接:
dt[dt_lookup, cls := i.cls_new, on = .(cls = cls_old)]
dt
# cls data
#1: 1 1
#2: 2 2
#3: 3 3
#4: 4 4
#5: 5 5
你真的应该花点时间研究数据表的小插曲和文档。如果我没有误解,你可以做一个简单的连接:
dt[dt_lookup, cls := i.cls_new, on = .(cls = cls_old)]
dt
# cls data
#1: 1 1
#2: 2 2
#3: 3 3
#4: 4 4
#5: 5 5
你真的应该花些时间研究data.table的小插曲和文档。我认为这通常被称为“更新连接”,所以在搜索中使用它(连同R和data.table),你会找到的。我认为这通常被称为“更新连接”,所以在搜索中使用它(连同R和data.table)你们会发现。
dt[dt_lookup, cls := i.cls_new, on = .(cls = cls_old)]
dt
# cls data
#1: 1 1
#2: 2 2
#3: 3 3
#4: 4 4
#5: 5 5