【发布时间】:2018-02-08 09:30:43
【问题描述】:
我在 R 中有两个数据框,我想将它们转换为矩阵。这是我的示例数据
一个 data.frame dat 有 2 列,一列包含名称,第二列包含一些分数。
> head(dat, n=20)
V1 V2
1 4star_Active_TSS 10.99561503
2 4star_Bivalent_Enhancer 0.42425920
3 4star_Bivalent_Poised_TSS 0.31163730
4 4star_Enhancers 139.64713405
5 4star_Flanking_Active_TSS 23.11961717
6 4star_Flanking_Bivalent_TSS_Enh 0.17654506
7 4star_Genic_enhancers 44.42394542
8 4star_Heterochromatin -34.61099049
9 4star_Quiescent_Low -28.54240987
10 4star_Repressed_PolyComb -0.42096698
11 4star_Strong_transcription 12.70895605
12 4star_Transcr_at_gene_5_and_3 0.00000000
13 4star_Weak_Repressed_PolyComb 0.08902141
14 4star_Weak_transcription 19.28859369
15 4star_ZNF_genes_and_repeats -1.58340662
16 A549_EtOH_0.02pct_Lung_Carcinoma_Active_TSS 14.01552989
17 A549_EtOH_0.02pct_Lung_Carcinoma_Bivalent_Enhancer 1.00466761
18 A549_EtOH_0.02pct_Lung_Carcinoma_Bivalent_Poised_TSS 1.20607773
19 A549_EtOH_0.02pct_Lung_Carcinoma_Enhancers 63.36004048
20 A549_EtOH_0.02pct_Lung_Carcinoma_Flanking_Active_TSS 48.27400816
其他数据框为一列,包含上述数据框row.names的半名。
> states=read.delim("states.txt", header=FALSE)
> states
V1
1 Active_TSS
2 Bivalent_Enhancer
3 Bivalent_Poised_TSS
4 Enhancers
5 Flanking_Active_TSS
6 Flanking_Bivalent_TSS_Enh
7 Genic_enhancers
8 Heterochromatin
9 Quiescent_Low
10 Repressed_PolyComb
11 Strong_transcription
12 Transcr_at_gene_5_and_3
13 Weak_Repressed_PolyComb
14 Weak_transcription
15 ZNF_genes_and_repeats
我希望得到的 matrix/data.frame 类似于以下内容。我想用第二个 data.frame 的列切掉第一个 data.frame 的第一列,并创建一个如下所示的矩阵。
>dd_matrix
Active_TSS Bivalent_Enhancer
4star 10.99562 0.4242592
A549_EtOH_0.02pct_Lung_Carcinoma 14.01553 1.0046676
Bivalent_Poised_TSS Enhancers
4star 0.3116373 139.64713
A549_EtOH_0.02pct_Lung_Carcinoma 1.2060777 63.36004
Flanking_Active_TSS Flanking_Bivalent_TSS_Enh
4star 23.11962 0.1765451
A549_EtOH_0.02pct_Lung_Carcinoma 48.27401 1.1449923
Genic_enhancers Heterochromatin Quiescent_Low
4star 44.423945 -34.610990 -28.54241
A549_EtOH_0.02pct_Lung_Carcinoma 5.976754 -1.274768 -31.68228
Repressed_PolyComb Strong_transcription
4star -0.420967 12.708956
A549_EtOH_0.02pct_Lung_Carcinoma -0.331186 3.375022
Transcr_at_gene_5_and_3
4star 0.000000
A549_EtOH_0.02pct_Lung_Carcinoma 1.501412
Weak_Repressed_PolyComb Weak_transcription
4star 0.08902141 19.28859
A549_EtOH_0.02pct_Lung_Carcinoma -0.05151471 11.19855
ZNF_genes_and_repeats
4star -1.583407
A549_EtOH_0.02pct_Lung_Carcinoma 0.000000
任何帮助将不胜感激。任何R 或unix 解决方案也可以工作。
谢谢。
【问题讨论】: