gpt4 book ai didi

r - 如何翻译字符串中的所有字符

转载 作者:行者123 更新时间:2023-12-04 22:39:31 26 4
gpt4 key购买 nike

我正在 R 中构建一个函数,该函数将一个字符串(如“ABCDEFG”)和一个矩阵作为输入,并根据矩阵将字符串中的每个字符转换为另一个字符串。

我试过的代码是这样的:

plugboard <- function() {
matrix(sample(letters, 26,
replace = FALSE, prob = NULL),
nrow = 2, ncol = 13)
}

这是为了生成一个两行的矩阵,其中每列中有两个配对在一起的字母。

这个函数根据第一个函数中生成的矩阵对字符串中的字符进行解码:
decoder <- function(message, matrix) {
message = tolower(message)
for (i in 1:13){
message = gsub(matrix[1,i], matrix[2,i], message)
}
return(message)
}

我得到的结果是这样的( x 是矩阵, m 是字符串):
> x
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
[1,] "w" "f" "u" "p" "g" "i" "j" "o" "b" "q" "z" "d" "c"
[2,] "k" "s" "a" "l" "m" "e" "n" "r" "y" "t" "x" "v" "h"
> m = "wfupksal"
> decoder(m,x)
[1] "wfupwfup"
>

它应该将“wfupksal”变成“ksalwfup”。

我的意思是代码应该将第 1 行中的所有字符转换为第 2 行中的字符,反之亦然。但我只能做一种方法(将第 2 行中的所有字符更改为第 1 行中的字符)。

示例:如果我们以上面的矩阵“x”为例,字符串“hey how are you”应该转换为“cib crk uoi bra”。在这种情况下,字符串中第一行中的所有字符都将更改为第二行中的字符,反之亦然。

R中有一个函数可以反转字符串中的字符吗?

最佳答案

不清楚条件,可能

v1 <- apply(x, 1, paste, collapse="")
chartr(paste(v1, collapse=""), paste(rev(v1), collapse=""), m)
#[1] "ksalwfup"

关于r - 如何翻译字符串中的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54487048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com