相关疑难解决方法(0)

为R中的数据帧中的每一行数据创建哈希值

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

我的计划是使用digestin digestpackage 为两个具有相同列的数据帧中的每一行数据创建哈希,并且我认为对于任何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()
    }
Run Code Online (Sandbox Code Playgroud)

但这很慢.

我在比较数据帧时的方法是否正确?如果是,是否有任何关于加快上述代码的建议?谢谢.

UPDATE

我已经更新了以下代码:

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")     
Run Code Online (Sandbox Code Playgroud)

uid为"独特"目的自行生成了一个专栏.

database hash r

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

标签 统计

database ×1

hash ×1

r ×1