dúvidas para transpor uma matriz

1. dúvidas para transpor uma matriz

Mariana Piatto Berton
mberton

(usa Outra)

Enviado em 13/06/2016 - 14:32h

Boa tarde!
Tenho um arquivo com o seguinte formato:(exemplo)
SNPname sample ID parâmetro
SNP1 1 0.405
SNP2 1 -0.1119
SNP3 1 0.874
SNP1 2 0.005
SNP2 2 0.047
SNP3 2 -0.548
. .
. .
. .
SNPn samplej 0.225

E preciso transforma-lo em uma matriz onde os SNPname ficam em linhas e o sampleID ficam em colunas e o parâmetro no corpo da matriz. Alguém poderia me ajudar? Ja estou há um tempão tentando! :/






  


2. Re: dúvidas para transpor uma matriz

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/06/2016 - 19:46h

mberton escreveu:

Boa tarde!
Tenho um arquivo com o seguinte formato:(exemplo)
SNPname sample ID parâmetro
SNP1 1 0.405
SNP2 1 -0.1119
SNP3 1 0.874
SNP1 2 0.005
SNP2 2 0.047
SNP3 2 -0.548
. .
. .
. .
SNPn samplej 0.225

E preciso transforma-lo em uma matriz onde os SNPname ficam em linhas e o sampleID ficam em colunas e o parâmetro no corpo da matriz. Alguém poderia me ajudar? Ja estou há um tempão tentando! :/

______________________________________
Boa noite, poste um exemplo de como deseja a saida.
"sample ID" é sempre a parte "numérica de "SNPname"?

No aguardo,
marcelo oliver




3. Re: dúvidas para transpor uma matriz

Mariana Piatto Berton
mberton

(usa Outra)

Enviado em 13/06/2016 - 20:49h

Boa noite,
Obrigada pela ajuda!!
Na verdade a parte numérica é só na coluna de parâmetros. O "SNPname" e o "sampleID" são nominais, seriam marcadores e a identificação de animais avaliados, respectivamente. Enquanto que "parâmetro" é a característica que vou avaliar. A matriz tem que ficar assim:
sample1 sample2 sample3 sample4 .... samplen
SNP1 param11 param12 param13 param14 .... param1n
SNP2 param21 param22 param23 param24 ... param2n
SNP3 param31 param32 param33 param34 .... param3n
SNP4 param41 param42 param43 param44 ..... param4n
. . . . . .
. . . . . .
. . . . . .
SNPn parann1 paramn2 paramn3 paramn4 .... paramnn



4. Re: dúvidas para transpor uma matriz

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 13/06/2016 - 23:07h

mberton escreveu:

Boa noite,
Obrigada pela ajuda!!
Na verdade a parte numérica é só na coluna de parâmetros. O "SNPname" e o "sampleID" são nominais, seriam marcadores e a identificação de animais avaliados, respectivamente. Enquanto que "parâmetro" é a característica que vou avaliar. A matriz tem que ficar assim:
sample1 sample2 sample3 sample4 .... samplen
SNP1 param11 param12 param13 param14 .... param1n
SNP2 param21 param22 param23 param24 ... param2n
SNP3 param31 param32 param33 param34 .... param3n
SNP4 param41 param42 param43 param44 ..... param4n
. . . . . .
. . . . . .
. . . . . .
SNPn parann1 paramn2 paramn3 paramn4 .... paramnn


Bom, vamos lá ....
O que entendi é:
01 - Transformar "COLUNA 02" (sample1... sampleNN) em uma LINHA, sendo essa, a LINHA 01 do novo arquivo
02 - "PEGAR" o restante do texto sem a "COLUNA02" e transpor p/ o novo arquivo.
Se for isso, aqui esta a solução:
awk '{print $2}' LINxCOL.txt |xargs > novo_arquivo.txt
cut -d" " -f2 --complement LINxCOL.txt >> novo_arquivo.txt
OBS.: Considerei o IFS=" " (espaço).

ONDE, LINxCOL.txt:
echo L{01..10}-C{01..10}|sed 's/\(L[0-9]\+-C10\)/&\n/g'|sed 's/^ //' >> LINxCOL.txt 


cat novo_arquivo.txt
L01-C02 L02-C02 L03-C02 L04-C02 L05-C02 L06-C02 L07-C02 L08-C02 L09-C02 L10-C02
L01-C01 L01-C03 L01-C04 L01-C05 L01-C06 L01-C07 L01-C08 L01-C09 L01-C10
L02-C01 L02-C03 L02-C04 L02-C05 L02-C06 L02-C07 L02-C08 L02-C09 L02-C10
L03-C01 L03-C03 L03-C04 L03-C05 L03-C06 L03-C07 L03-C08 L03-C09 L03-C10
L04-C01 L04-C03 L04-C04 L04-C05 L04-C06 L04-C07 L04-C08 L04-C09 L04-C10
L05-C01 L05-C03 L05-C04 L05-C05 L05-C06 L05-C07 L05-C08 L05-C09 L05-C10
L06-C01 L06-C03 L06-C04 L06-C05 L06-C06 L06-C07 L06-C08 L06-C09 L06-C10
L07-C01 L07-C03 L07-C04 L07-C05 L07-C06 L07-C07 L07-C08 L07-C09 L07-C10
L08-C01 L08-C03 L08-C04 L08-C05 L08-C06 L08-C07 L08-C08 L08-C09 L08-C10
L09-C01 L09-C03 L09-C04 L09-C05 L09-C06 L09-C07 L09-C08 L09-C09 L09-C10
L10-C01 L10-C03 L10-C04 L10-C05 L10-C06 L10-C07 L10-C08 L10-C09 L10-C10


Se endendi errado, "mostre" como quer a saída, tomando como base o "arquivo LINxCOL.txt"
Caso a resposta solucione o seu problema, marque a como "A MELHOR" . . . :)

Att.:
Marcelo Oliver









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts