我正在尝试创建一个函数,其中输入的第一个和第二个参数是字符向量。第一组字符是编码消息。第二个论点是关键。这两个参数通过设置字符列表相关联。我想阅读消息,将字符与列表相关联,然后使列表等于键。然后打印出来的消息。例如:
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, ])
}
}
思想和想法?谢谢你的时间
答案 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"