【问题标题】:In R, how do I transform a complex list object into a dataframe object在 R 中,如何将复杂的列表对象转换为数据框对象
【发布时间】:2023-01-26 02:20:27
【问题描述】:

我有一个从 .RData 文件中检索到的数据集。如果使用 head() 我的数据如下所示:

>head(df,1)

      R123    R456   
cg1   1.252   1.282

使用“typeof()”命令告诉我数据类型是一个列表。但是,如果我使用“class()”,我的输出是 data.frame:

>typeof(df)

>class(df)
"data.frame"

此外,我可以使用 df$ 之类的命令,我的输出如下所示

>df$R123
1.252   1.895 

它返回对应于 cg1 和 cg2 行的值。 使用 df[1,] 和 df[,1] 给我这样的输出:

>df[1,]
     R123    R456
cg1  1.252   1.252              

>df[,2]
1.252   1.895

我使用 rownames() 来确认 cgX 是行名 这些是我的问题:

  1. 有人可以解释这是这种类型的数据格式吗?
  2. 有人可以解释我如何将此数据转换为“长”格式数据框吗?

    我想以“长”格式获取数据集,以便更容易分析。理想的格式应该是这样的:

    Individual_ID     cg_site    value
    R123              cg1        1.252
    R123              cg2        1.895   
    R456              cg1        1.282
    R456              cg2        1.572
    

    如果上下文有帮助。数据是关于 DNA 甲基化位点的。 RXYZ是ID号,cgX是位置,数值是甲基化活性的数量。真实的数据集非常庞大,手动进行这种转换非常困难。

【问题讨论】:

    标签: r dataframe data-wrangling


    【解决方案1】:

    我们可能会使用

    as.data.frame.table(as.matrix(df))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-29
      • 1970-01-01
      • 2021-11-06
      • 2015-02-17
      • 2021-07-27
      • 1970-01-01
      • 2018-09-30
      相关资源
      最近更新 更多