создать матрицу в Perl или R, если данные предоставлены в файле CSV - PullRequest
0 голосов
/ 11 декабря 2018

Это файл CSV.строка и Gene_Name как столбец, а частота как данные, соответствующие sample_name и Gene_names.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Вы также можете использовать базу R.

tt <- read.csv("cn0_gene.csv", header=TRUE, sep="", row.names=1)
reshape(tt, idvar=c("Sample_Name", "Copy_No"), timevar = "Gene_Names", direction="wide")

#     Sample_Name Copy_No Frequencey.NOT_FOUND Frequencey.ACTA2,FAS,FAS-AS1
# 1     gw6.00033    cn=0                    4                           NA
# 102    gw6.0006    cn=0                    5                            1
#     Frequencey.MMP26,OR51A2 Frequencey.OR52N1,OR52N5,TRIM5 Frequencey.RHD,RSRP1
# 1                        NA                             NA                   NA
# 102                       1                              1                    1
#     Frequencey.RNLS Frequencey.SCAPER Frequencey.TP63 Frequencey.WWOX
# 1                NA                NA              NA              NA
# 102               1                 1               1               1
0 голосов
/ 11 декабря 2018
library( data.table )

dt <- fread("./cn0_gene.csv")
dcast( dt, Sample_Name ~ Gene_Names, value.var = "Frequencey" )

#    Sample_Name ACTA2,FAS,FAS-AS1 MMP26,OR51A2 NOT_FOUND OR52N1,OR52N5,TRIM5 RHD,RSRP1 RNLS SCAPER TP63 WWOX
# 1:   gw6.00033                NA           NA         4                  NA        NA   NA     NA   NA   NA
# 2:    gw6.0006                 1            1         5                   1         1    1      1    1    1

, чтобы заполнить NA как нули, используйте:

dcast( dt, Sample_Name ~Gene_Names, value.var = "Frequencey", fill = 0 )

#    Sample_Name ACTA2,FAS,FAS-AS1 MMP26,OR51A2 NOT_FOUND OR52N1,OR52N5,TRIM5 RHD,RSRP1 RNLS SCAPER TP63 WWOX
# 1:   gw6.00033                 0            0         4                   0         0    0      0    0    0
# 2:    gw6.0006                 1            1         5                   1         1    1      1    1    1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...