私は、いくつかの関連する統計(実際には他の多くの統計と記述列)を持つ「領域」と、それらの領域にある遺伝子のコンマ区切りのリストがある実験を行っています。このリストの数は可変であり、何も含まれていない可能性があります(「NA」)。
テーブルを「溶かす」にはどうすればよいですか。
region_id statistic genelist
1 2.5 A, B, C
2 0.5 B, C, D, E
3 3.2 <NA>
4 0.1 E, F
遺伝子リストの遺伝子ごとに個別のエントリを持つ別のテーブルを作成するには?つまり
region_id statistic gene
1 2.5 A
1 2.5 B
1 2.5 C
2 0.5 B
2 0.5 C
2 0.5 D
2 0.5 E
3 3.2 <NA>
4 0.1 E
4 0.1 F
R / plyrでこれを行う方法があると思いますが、方法がわかりません。前もって感謝します。
編集:
Rを使用すると、次のコードでこれらのおもちゃのベクトルを再作成できます。
a <- structure(list(region_id = 1:4, statistic = c(2.5, 0.5, 3.2,
0.1), genelist = structure(c(1L, 2L, NA, 3L), .Label = c("A, B, C",
"B, C, D, E", "E, F"), class = "factor")), .Names = c("region_id",
"statistic", "genelist"), class = "data.frame", row.names = c(NA,
-4L))
b <- structure(list(region_id = c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L,
4L, 4L), statistic = c(2.5, 2.5, 2.5, 0.5, 0.5, 0.5, 0.5, 3.2,
0.1, 0.1), gene = structure(c(1L, 2L, 3L, 2L, 3L, 4L, 5L, NA,
5L, 6L), .Label = c("A", "B", "C", "D", "E", "F"), class = "factor")), .Names = c("region_id",
"statistic", "gene"), class = "data.frame", row.names = c(NA,
-10L))