Матрица строк действует странно при переходе на фрейм данных в R - PullRequest
0 голосов
/ 05 июля 2018

У меня есть матрица из одной строки

    chr       start        end     clusterSize    strand   isCluster 
   "chr1"      "25"        "40"        "15"        "."     "TRUE"

Когда я изменяю это в фрейм данных, используя as.data.frame в R, я получаю следующий результат:

              res
chr          chr1
start          25
end            40
clusterSize    15
sites       2,1,2
strand          .
isCluster    TRUE

Я ожидал, что матрица строк станет одной строкой в ​​качестве формата фрейма данных. Я не могу понять это поведение, когда у меня есть матрица, состоящая из более чем одной строки, она идеально преобразуется в фрейм данных. У кого-нибудь есть идеи по этому поводу?

1 Ответ

0 голосов
/ 05 июля 2018

У вас есть вектор, а не матрица строк:

a = c(chr ="chr1", start="25", end="40", clusterSize="15", strand=".", isCluster ="TRUE")

Вот так выглядит матрица строк:

> t(a)
     chr    start end  clusterSize strand isCluster
[1,] "chr1" "25"  "40" "15"        "."    "TRUE" 

но что у вас есть это

> a
        chr       start         end clusterSize      strand   isCluster 
     "chr1"        "25"        "40"        "15"         "."      "TRUE" 

Итак, чтобы получить то, что вы хотите, просто выполните:

data.frame(t(as.matrix(a)))
   chr start end clusterSize strand isCluster
1 chr1    25  40          15      .      TRUE

или вы можете сделать напрямую:

data.frame(t(a))
   chr start end clusterSize strand isCluster
1 chr1    25  40          15      .      TRUE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...