行矩阵在R中更改为数​​据帧时表现异常

时间:2018-07-05 08:29:48

标签: r dataframe matrix

我有一个由一行组成的行矩阵

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

当我使用R中的as.data.frame将其更改为数据帧时,会得到以下结果:

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

我希望看到行矩阵作为数据帧格式变成一行。我无法理解这种行为,当我有一个由多行组成的矩阵时,它可以完美地转换为数据帧。 有人对此有想法吗?

1 个答案:

答案 0 :(得分:1)

您有一个向量,而不是一个行矩阵:

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