यहाँ में त्रुटि छोटा सा उदाहरण है:अनुवाद (recoding) आर
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
समस्या, एसी से 12 में eaqual नहीं है उत्पादन के बजाय 11, इसी तरह दूसरों के लिए। बस गड़बड़!
(exta: इसके अलावा मैं नहीं जानता कि rownames से छुटकारा पाने के लिए कैसे।)
आपके लिए सबसे आसान समाधान केवल 'x = xlate [x] 'to x = xlate [as.character (x)]' संपादित करना हो सकता है, क्योंकि यह थोड़ा सा त्रुटि उत्पन्न कर रहा है। ('X' वर्ग 'कारक' के वैक्टर हैं, और इंडेक्सिंग में कारक के पूर्णांक मान (संबंधित चरित्र तारों के बजाए) का उपयोग किया जा रहा है।) –
इसके अलावा, राउनम्स से छुटकारा पाने के लिए, बस 'राउननाम' (mydf) <- NULL'। –