我的输入矩阵
set.seed(123)
m1 <- matrix(sample(letters, 50, replace=TRUE), 5)
在这里,我想通过遵循4个字母差异的模式来用“ A”,“ B”,“ C”,“ D”替换字母。即“ A”应替换字母“ a”,“ e”,“ i”,“ m”,“ q”,“ u”,“ y”,“ B”替换“ b”,“ f”,“ j” ,....等等。
我试过了
replace(m1, c("a","e","i","m","q", "u", "y"), "A")
这是不正确的。
这是使用模块化算法的一种方法:
matrix(toupper(letters)[((match(m1, letters) - 1) %% 4) + 1], ncol=ncol(m1))
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
# [1,] "D" "B" "A" "D" "D" "C" "B" "A" "D" "D"
# [2,] "A" "B" "D" "C" "C" "C" "D" "D" "C" "C"
# [3,] "C" "D" "B" "B" "A" "D" "B" "B" "C" "A"
# [4,] "C" "C" "C" "A" "B" "D" "A" "A" "B" "C"
# [5,] "A" "D" "C" "A" "B" "D" "A" "C" "D" "C"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句