порядок при разделении (например. TA следует разделить на два столбца «A» в первом «T» во втором )в r

У меня есть следующая проблема, я могу решить:

set.seed (1234)
mydf <- data.frame (var1a = sample (c("TA", "AA", "TT"), 5, replace = TRUE),
                    varb2 = sample (c("GA", "AA", "GG"), 5, replace = TRUE),
                    varAB = sample (c("AC", "AA", "CC"), 5, replace = TRUE)
                    )
     mydf 

  var1a varb2 varAB
1    TA    AA    CC
2    AA    GA    AA
3    AA    GA    AC
4    AA    AA    CC
5    TT    AA    AC

Я хочу разбить две буквы на разные столбцы, а затем упорядочить по алфавиту.

Редактировать :Порядок может быть выполнен до разделения, например, значение var1a "TA" var1a должно быть "AT" или после разделения, так что var1aa должно быть "A", а var1ab должно быть "T" (вместо "T", "А" ). поэтому сортировка внутри каждой ячейки.

split_col <- function(.col, data){
   .x <- colsplit( data[[.col]], names =  paste0(.col, letters[1:2]))
   }

разделить каждый столбец и объединить

    require(reshape)
    splitdf <- do.call(cbind, lapply(names(mydf), split_col, data = mydf))

 var1aa var1ab varb2a varb2b varABa varABb
1      T      A      A      A      C      C
2      A      A      G      A      A      A
3      A      A      G      A      A      C
4      A      A      A      A      C      C
5      T      T      A      A      A      C

Но нерешенная часть заключается в том, что я хочу заказать пару столбцов так, чтобы имя столбца «a» и имя столбца «b» были упорядочены в алфавитном порядке. Таким образом, ожидаемый результат:

    var1aa var1ab varb2a varb2b varABa varABb
1      A      T      A      A      C      C
2      A      A      A      G      A      A
3      A      A      A      G      A      C
4      A      A      A      A      C      C
5      T      T      A      A      A      C

Может, как можно упорядочить (с каждой парой переменных )?

5
задан shNIL 28 July 2012 в 01:07
поделиться