gpt4 book ai didi

r - r 中的翻译(重新编码)错误

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

这是一个小例子:

X1 <- c("AC", "AC", "AC", "CA", "TA", "AT", "CC", "CC")
X2 <- c("AC", "AC", "AC", "CA", "AT", "CA", "AC", "TC")
X3 <- c("AC", "AC", "AC", "AC", "AA", "AT", "CC", "CA")
mydf1 <- data.frame(X1, X2, X3)

输入数据框
  X1 X2 X3
1 AC AC AC
2 AC AC AC
3 AC AC AC
4 CA CA AC
5 TA AT AA
6 AT CA AT
7 CC AC CC
8 CC TC CA

功能
# Function 
atgc <- function(x) {
xlate <- c( "AA" = 11, "AC" = 12, "AG" = 13, "AT" = 14,
"CA"= 12, "CC" = 22, "CG"= 23,"CT"= 24,
"GA" = 13, "GC" = 23, "GG"= 33,"GT"= 34,
"TA"= 14, "TC" = 24, "TG"= 34,"TT"=44,
"ID"= 56, "DI"= 56, "DD"= 55, "II"= 66
)
x = xlate[x]
}
outdataframe <- sapply (mydf1, atgc)
outdataframe
X1 X2 X3
AA 11 11 12
AA 11 11 12
AA 11 11 12
AG 13 13 12
CA 12 12 11
AC 12 13 13
AT 14 11 12
AT 14 14 14

问题,AC 的输出不等于 12,而是 11,其他情况类似。只是一团糟!

( Exta:我也不知道如何摆脱行名。)

最佳答案

只需使用 apply并转置:

t(apply (mydf1, 1, atgc))

使用 sapply ,然后使用:
  • stringsAsFactors=FALSE创建数据框时,即
    mydf1 <- data.frame(X1, X2, X3, stringsAsFactors=FALSE)

    (感谢@joran)或
  • 将函数的最后一行更改为:x = xlate[as.vector(x)]
  • 关于r - r 中的翻译(重新编码)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353736/

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