作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用的一些数据包含敏感信息(人名、日期、地点等)。但有时我需要与其他人分享“数字”以获得统计分析的帮助,或者在我无法控制谁查看数据的更强大的机器上处理它。
理想情况下,我想这样工作:
最佳答案
一种方法是使用 match
.首先我制作一个小数据框:
foo <- data.frame( person=c("Mickey","Donald","Daisy","Scrooge"), score=rnorm(4))
foo
person score
1 Mickey -0.07891709
2 Donald 0.88678481
3 Daisy 0.11697127
4 Scrooge 0.31863009
set.seed(100)
key <- as.character(foo$person[sample(1:nrow(foo))])
foo$person <- match(foo$person, key)
foo
person score
1 2 0.3186301
2 1 -0.5817907
3 4 0.7145327
4 3 -0.8252594
key
:
key[foo$person]
[1] "Mickey" "Donald" "Daisy" "Scrooge"
tranform
,只要人员 ID 保持不变,如果数据发生更改,这也适用:
foo <-rbind(foo,foo[sample(1:4),],foo[sample(1:4,2),],foo)
foo
person score
1 2 0.3186301
2 1 -0.5817907
3 4 0.7145327
4 3 -0.8252594
21 1 -0.5817907
41 3 -0.8252594
31 4 0.7145327
15 2 0.3186301
32 4 0.7145327
16 2 0.3186301
11 2 0.3186301
12 1 -0.5817907
13 4 0.7145327
14 3 -0.8252594
transform(foo, person=key[person])
person score
1 Mickey 0.3186301
2 Donald -0.5817907
3 Daisy 0.7145327
4 Scrooge -0.8252594
21 Donald -0.5817907
41 Scrooge -0.8252594
31 Daisy 0.7145327
15 Mickey 0.3186301
32 Daisy 0.7145327
16 Mickey 0.3186301
11 Mickey 0.3186301
12 Donald -0.5817907
13 Daisy 0.7145327
14 Scrooge -0.8252594
关于r - 如何对数据进行去分类和重新分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5066912/
我是一名优秀的程序员,十分优秀!