【问题标题】:How to encrypt a string variable with names in R如何在R中使用名称加密字符串变量
【发布时间】:2013-11-04 21:03:20
【问题描述】:

我在 R 中的一个小项目中工作,我需要屏蔽或加密数据框中变量中的名称。我的数据框有下一个结构:

Name                Value.R
Bank of Italy         200
Josh Peters           300
Fist Bank of Americas 500
Neil Rodes            520
Oil Team World        700

我正在寻找一种方法来保护name 变量中的名称,如下所示:

Name                Value.R
BXXk of IXXXy         200
JXXh PXXXrs           300
FXXt BXXk of AmXXXcas 500
NXXl RXXes            520
OXl TXXm WXXld        700

如果可以在 R 中制作,我不知道。感谢您的帮助。

【问题讨论】:

  • 可能感兴趣的摘要包。另外,一个高度相关的问题stackoverflow.com/questions/5806308/how-do-i-encrypt-data-in-r
  • 特别是,跟进@ScottChamberlain:library(digest); digest("Bank of Italy","crc32") 给出"8e7332c5"(其他哈希在密码学上更优越但更长)
  • 美国拳头银行 +1
  • @Duck :几个小时后,您可以(并鼓励)发布您自己的解决方案来解决这个问题。
  • DF$Name.Encrypt=sapply(DF$Name,digest,"crc32")DF=transform(DF,Name.Encrypt=sapply(Name,digest,"crc32"))

标签: r


【解决方案1】:

这是一个接近你所展示的选项:

x <- c('Bank of Italy', 'First Bank of Americas')
gsub('([A-Z])([a-z]+)([a-z])', '\\1X\\3', x)
# [1] "BXk of IXy"     "FXt BXk of AXs"

如果您对混淆的期望不是太高(似乎不是),您也可以使用abbreviate

x <- c("Bank of Italy",
"Josh Peters",
"Fist Bank of Americas",
"Neil Rodes",
"Oil Team World")
abbreviate(x)
# [1] "BnoI" "JshP" "FBoA" "NlRd" "OlTW"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 2013-04-12
    相关资源
    最近更新 更多