我在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中制作,我不会。感谢您的帮助。
答案 0 :(得分:2)
这是一个接近你所展示的选项:
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"