我经常对人类参与者进行研究.由于各种原因,我的初步标识符有时是减少数据中匿名性的信息的组合(例如,我可能连接包括完成日期和时间的字符串,IP地址和参与者提供的一些信息).
因此,如果要以某种形式共享数据,则需要从初步ID创建清理的ID.需要清除已清理的ID以获取此类信息.在R A简单的方法是只分配连续号码(例如,df$id <- seq(nrow(df))其中df是data.frame).但是,如果在研究的初始阶段收集更多数据或使用行,则可能会导致问题.即,每次更新原始数据集时,分配给给定参与者的清理ID可能不同.这反过来可以破坏对清理数据集的后续分析,例如可能基于清理的ID过滤了案例.
因此,我考虑使用包中的digest函数digest创建哈希.
df$id <- sapply(df$raw_id, digest)
Run Code Online (Sandbox Code Playgroud)
这似乎导致了从原始标识符到清除标识符的可靠方式,但是对于只拥有清理标识符的任何人来说,获取原始标识符是不可能的.
但是,鉴于我对digest函数和散列都不熟悉,我想问:
digest适合剥离识别信息的ID?digest用于此目的是否有任何问题?Jer*_*lim 12
我从上面的评论中学到了很多有用的东西.这个答案旨在提炼这些评论.
为了匿名研究参与者标识符,散列有两个问题:
因此,总结一下我收集的建议.
library(digest)
hashed_id <- function(x, salt) {
y <- paste(x, salt)
y <- sapply(y, function(X) digest(X, algo="sha1"))
as.character(y)
}
mydata$id <- hashed_id(mydata$raw_id, "somesalt1234")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1621 次 |
| 最近记录: |