gpt4 book ai didi

database - 为R中数据框中的每一行数据创建哈希值

转载 作者:搜寻专家 更新时间:2023-10-30 19:42:07 24 4
gpt4 key购买 nike

我正在探索如何更有效地比较 R 中的两个数据帧,然后我想出了哈希。

我的计划是使用 digest 包中的 digest 为具有相同列的两个数据框中的每一行数据创建哈希,我想哈希应该是相同的任意 2 行相同的数据。

我尝试使用以下代码为每一行数据提供唯一的哈希值:

for (loop.ssi in (1:nrow(ssi.10q3.v1)))
{ssi.10q3.v1[loop.ssi,"hash"] <- digest(as.character(ssi.10q3.v1[loop.ssi,]))
print(paste(loop.ssi,nrow(ssi.10q3.v1),sep="/"))
flush.console()
}

但这很慢。

我比较数据框的方法是否正确?如果是,有什么建议可以加快上面的代码吗?谢谢。

更新

我已将代码更新如下:

ssi.10q3.v1[,"uid"] <- 1:nrow(ssi.10q3.v1)   

ssi.10q3.v1.hash <- ddply(ssi.10q3.v1,
c("uid"),
function(df)
{df[,"uid"]<- NULL
hash <- digest(as.character(df))
data.frame(hash=hash)
},
.progress="text")

为了“唯一”的目的,我自己生成了一个 uid 列。

最佳答案

如果我得到你想要的东西,digest 将直接与 apply 一起工作:

library(digest)
ssi.10q3.v1.hash <- data.frame(uid = 1:nrow(ssi.10q3.v1), hash = apply(ssi.10q3.v1, 1, digest))

关于database - 为R中数据框中的每一行数据创建哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5086794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com