open(INPUT,"ZScoreKMV.csv") or die "Can't open file: $!\n"; open(outfile, ">pairwiseArray"); @X; @Y; while ( $line = ) { ($X[$i],$Y[$i]) = split(/,/, $line); chop($Y[$i]); $i++ } $n=$i; $SumX=0; $SumY=0; #Calculating the mean for($i=0;$i<$n; $i++){ $SumX += $X[$i]; $SumY += $Y[$i]; } $MeanX = $SumX/$n; $MeanY = $SumY/$n; #Calculating Std Deviation for X & Y $XiSquareSum = 0; for($i=0;$i<$n;$i++){ $Xi = $X[$i] - $MeanX; $XiSquare = $Xi*$Xi; $XiSquareSum += $XiSquare; } $VarianceX = $XiSquareSum/$n ; $StdDevX = sqrt($VarianceX); $YiSquareSum = 0;x for($i=0;$i<$n;$i++){ $Yi = $Y[$i] - $MeanY; $YiSquare = $Yi*$Yi; $YiSquareSum += $YiSquare; } $VarianceY = $YiSquareSum/$n ; $StdDevY = sqrt($VarianceY); #Calculate the covariance between X & Y $CovSum=0; for($i=0;$i<$n;$i++){ $Xi = $X[$i] - $MeanX; $Yi = $Y[$i] - $MeanY; $Covi = $Xi*$Yi; $CovSum += $Covi; } $Covariance = $CovSum/$n; #print("Mean X= $MeanX \n"); #print("Mean Y= $MeanY \n"); #print("STD X= $StdDevX \n"); #print("STD Y= $StdDevY \n"); #Calculate the correlation coefficient $r = $Covariance/($StdDevX*$StdDevY); print outfile "The correlation coefficient is $r \n";