为了账号安全,请及时绑定邮箱和手机立即绑定

转置数据帧

/ 猿问

转置数据帧

HUWWW 2019-11-26 15:35:01

我需要转置一个大数据框,因此我使用了:


df.aree <- t(df.aree)

df.aree <- as.data.frame(df.aree)

这是我得到的:


df.aree[c(1:5),c(1:5)]

                         10428        10760        12148        11865

    name                M231T3       M961T5       M960T6      M231T19

    GS04.A        5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04

    GS16.A        5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04

    GS20.A        5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04

    GS40.A        3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04    

我的问题是我需要消除新的列名(10428、10760、12148、11865),因为我需要使用第一行作为列名。


我尝试使用col.names()功能,但没有得到所需的东西。


你有什么建议吗?


编辑


谢谢你的建议!!!使用它,我获得:


df.aree[c(1:5),c(1:5)]

                        M231T3       M961T5       M960T6      M231T19

    GS04.A        5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04

    GS16.A        5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04

    GS20.A        5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04

    GS40.A        3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04

    GS44.A        1.225938e+04 2.681887e+03 1.154924e+04 4.202394e+04

现在,我需要转换因子列中的行名(GS ..)。


查看完整描述

3 回答

?
守着一只汪

您最好不要在name。列位于其中的情况下转置data.frame,然后所有数字值都将转换为字符串!


这是将数字保留为数字的解决方案:


# first remember the names

n <- df.aree$name


# transpose all but the first column (name)

df.aree <- as.data.frame(t(df.aree[,-1]))

colnames(df.aree) <- n

df.aree$myfactor <- factor(row.names(df.aree))


str(df.aree) # Check the column types


查看完整回答
反对 2019-11-26
?
达令说

df.aree <- as.data.frame(t(df.aree))

colnames(df.aree) <- df.aree[1, ]

df.aree <- df.aree[-1, ]

df.aree$myfactor <- factor(row.names(df.aree))


查看完整回答
反对 2019-11-26
?
慕仰8121524

您可以使用库中的transpose函数data.table。简单快速的解决方案,将numeric值保持为numeric。


library(data.table)


# get data

  data("mtcars")


# transpose

  t_mtcars <- transpose(mtcars)


# get row and colnames in order

  colnames(t_mtcars) <- rownames(mtcars)

  rownames(t_mtcars) <- colnames(mtcars)


查看完整回答
反对 2019-11-26
  • 3 回答
  • 0 关注
  • 163 浏览

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信