私は約450Kのメチル化ベータ値を含むデータフレームを持っています。 2つのサンプルについて450プローブ。このデータは、3つの列に表示され、次のようになりますされています1つの列の値が行の名前になるようにデータフレームを並べ替えるにはどうすればよいですか?
>head(ICGC)
submitted_sample_id probe_id methylation_value
1 X932-01-4D cg00000029 0.6
2 X932-01-6D cg00000029 0.4
3 X932-01-4D cg00000108 0.3
4 X932-01-6D cg00000108 0.7
5 X932-01-4D cg00000109 0.9
6 X932-01-6D cg00000109 0.1
それが見えるように私は、プローブIDがrownamesであり、サンプルIDが列名になるように、このdata.frameを再配置したいと思いますこのように:
>head(ICGC_2)
X932-01-4D X932-01-6D
cg00000029 0.6 0.4
cg00000108 0.3 0.7
cg00000109 0.9 0.1
私が試してみました:
>library(tidyverse)
ICGC_2 <- ICGC %>% remove_rownames %>% column_to_rownames(var = "probe_id")
をしかし、これはICGCの各プローブIDとして機能しなかった(2個のサンプルがあるとして)列に二回表示されます。私も試みた:
hello <- data.frame(ICGC[,-2], row.names = ICGC[,2])
しかし、これは同じ問題がありました。このデータをこのように並べ替える理由は、ベータ値をM値に変換し、このデータをcpg.annotate(BioconductorパッケージDMRcateで利用可能)のオブジェクトとして使用するためです.cpg.annotateにはオブジェクトが必要です一意のイルミナプローブIDを列名として使用し、一意のサンプルIDを列名として使用します。
ありがとうございました!