J'ai besoin d'aide. J'ai un fichier de données (sujet pilote) avec trois essais, chacun avec environ 1500 points de données. Chaque essai doit être tronqué à 1500 points de données. J'inclus le code que j'ai utilisé ainsi qu'un échantillon du fichier de données ci-dessous. Toute aide serait grandement appréciée.Troncature des essais
`BEGIN{ SKIP=0}
{
if ($1=="MSG" && SKIP==0)
{
FS=" "
printf("\n%s",$6)
SKIP=1;
}
else if ($1=="MSG" && SKIP==1)
{
FS=" "
printf(" %d",$6)
SKIP=0;
}
else
FS="\t"
printf(" %.2f",($3+$4)/2)
}
}
`MSG 1 # Message: bince.bmp
MSG 1 # Message: 103
SMP 1 0 0 0 0 0
SMP 1 0 0 0 0 0
SMP 1 0 0 0 0 0
SMP 1 0 0 0 0 0
SMP 1 0 0 0 0 0
SMP 1 0 0 0 0 0
SMP 1 0 0 0 0 0
SMP 1 0 0 0 0 0
SMP 1 10.44 10.44 11.26 11.26 0
SMP 1 10.19 10.19 11.03 11.03 0
SMP 1 10.09 10.09 11.23 11.23 0
SMP 1 10.24 10.24 11.03 11.03 0
SMP 1 10.09 10.09 11.3 11.3 0
SMP 1 10.27 10.27 11.16 11.16 0
SMP 1 10.02 10.02 11.22 11.22 0
SMP 1 10.01 10.01 11.16 11.16 0
SMP 1 10.28 10.28 11.16 11.16 0
SMP 1 10.22 10.22 11.3 11.3 0
SMP 1 10.18 10.18 11.25 11.25 0
SMP 1 10.37 10.37 11.26 11.26 0
SMP 1 10.54 10.54 11.22 11.22 0
SMP 1 10.19 10.19 11.26 11.26 0
SMP 1 10.39 10.39 11.27 11.27 0
La sortie devrait finir par ressembler à cela, avec chaque essai étant une ligne avec un nombre désigné d'échantillons:
' 101 0.00 0.00 0.00...10.23 10.23 12.12 12.12
103 0.00 0.00 0.00...10.23 10.23 12.12 12.12
104 0.00 0.00 0.00...10.23 10.23 12.12 12.12'
Ajouter quelque chose comme ceci juste tronque 1500 échantillons, et non dans chaque essai:
'BEGIN{ SKIP=0; counter=0}
{
if ($1=="MSG" && SKIP==0)
{
FS=" "
printf("\n%s",$5)
SKIP=1;
}
else if ($1=="MSG" && SKIP==1)
{
FS=" "
printf(" %d",$6)
SKIP=0;
}
else if ($1!="MSG" && counter <=1500) {
{
FS="\t"
printf(" %.2f",($4+$5)/2)
counter++
}
}
}
Je vois 4 colonnes et je ne sais pas ce qu'est un point de données valide? – Endoro
3 $ et 4 $ sont les diamètres des pupilles verticaux et horizontaux pour l'œil gauche. Ils sont moyennés pour créer un point de données. Les données ci-dessus sont seulement un échantillon. –
Essentiellement, il produira un fichier avec le code du message et le diamètre moyen de la pupille pour chaque ligne d'une rangée. Les lignes ne sont pas de longueur égale, donc je dois les tronquer afin que les trois essais aient 1500 diamètres moyens. –