通过中间人替换角色

时间:2014-10-13 19:47:47

标签: r

我正在尝试创建一个函数,其中输入的第一个和第二个参数是字符向量。第一组字符是编码消息。第二个论点是关键。这两个参数通过设置字符列表相关联。我想阅读消息,将字符与列表相关联,然后使列表等于键。然后打印出来的消息。例如:

message <- c(d, b, c, c, a)

list <- c(letters)

key <- c(o, e, l, l, h)

message: d, b, c, c, a

list: a, b, c, d         
 key: o, e, l, h

所以看着这个消息,第一个字符是“d”,当你下到列表并找到“d”时,它与“h”匹配。如果你为所有字母继续这个,解码的消息是:“你好”。

关于如何做到这一点我有多个想法,但作为一个新的R用户,我不确定哪种方式甚至可以工作。

目前,这是我到目前为止所做的:

decode.msg <- function(message, key){
i <- NULL
for(i in message) if(message[i]==list[i]){
      decode.msg <-(key[i, ]==list[i, ])
   }
}

思想和想法?谢谢你的时间

1 个答案:

答案 0 :(得分:1)

使用chartr函数可能会更简单:

> chartr( 'abcd','oelh', 'dbcca' )
[1] "hello"
> chartr( 'abcd','oelh', c('d','b','c','c','a') )
[1] "h" "e" "l" "l" "o"

> chartr( paste(letters[1:4], collapse=''),
+   paste( c('o','e','l','h'), collapse=''),
+   c('d','b','c','c','a') )
[1] "h" "e" "l" "l" "o"