gpt4 book ai didi

R:根据关系表将数字串转换为字母串

转载 作者:行者123 更新时间:2023-12-04 14:35:12 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Replace / translate characters in a string

(3 个回答)


上个月关闭。




我有一个向量 mynumbers有几串数字,说:

mynumbers <- c("122212", "134134", "134134", "142123", "212141", "213243", "213422", "214231", "221233")
我的目标是将这些字符串转换为遵循这些关系的字母串:
1=A
2=C
3=G
4=T
我想将其封装在一个函数中,以便:
myletters <- translate_function(mynumbers)
myletters因此将是:
myletters <- c("ACCCAC", "AGTAGT", "AGTAGT", "ATCACG", "CACATA", "CAGCTG", "CAGTCC", "CATCGA", "CCACGG")
我正在考虑这样的函数,显然不正确......在处理 strsplit 时我开始感到困惑并列出...
translate_function <- function(numbers){
map_df <- data.frame(num=1:4, nuc=c('A','C','G','T'))
#strsplit numbers
split_numbers <- strsplit(numbers, '')
letters <- paste(sapply(split_numbers, function(x) map_df$nuc[which(map_df$num==x)]), collapse='')

return(letters)
}
实现这一目标的最简单、最优雅的方法是什么?谢谢!

最佳答案

轻松通过 chartr ,

chartr("1234" , "ACGT", mynumbers)
[1] "ACCCAC" "AGTAGT" "AGTAGT" "ATCACG" "CACATA" "CAGCTG" "CAGTCC" "CATCGA"
[9] "CCACGG"

关于R:根据关系表将数字串转换为字母串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69370758/

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