Diff for /loncom/interface/statistics/lonproblemanalysis.pm between versions 1.116 and 1.118

version 1.116, 2005/02/28 23:07:32 version 1.118, 2005/03/14 20:28:22
Line 132  sub BuildProblemAnalysisPage { Line 132  sub BuildProblemAnalysisPage {
             my $resource = $current_problem->{'resource'};              my $resource = $current_problem->{'resource'};
             $r->print('<h1>'.$resource->compTitle.'</h1>');              $r->print('<h1>'.$resource->compTitle.'</h1>');
             $r->print('<h3>'.$resource->src.'</h3>');              $r->print('<h3>'.$resource->src.'</h3>');
               $r->print('<h4>'.&Apache::lonstatistics::section_and_enrollment_description().'</h4>');
             if ($ENV{'form.show_prob'} eq 'true') {              if ($ENV{'form.show_prob'} eq 'true') {
                 $r->print(&Apache::lonstathelpers::render_resource($resource));                  $r->print(&Apache::lonstathelpers::render_resource($resource));
             }              }
Line 186  sub numerical_response_analysis { Line 187  sub numerical_response_analysis {
                                       $problem->{'respid'});                                        $problem->{'respid'});
     # Gather student data      # Gather student data
     my $response_data = &Apache::loncoursedata::get_response_data      my $response_data = &Apache::loncoursedata::get_response_data
         (\@Apache::lonstatistics::SelectedSections,          ([&Apache::lonstatistics::get_selected_sections()],
          $Apache::lonstatistics::enrollment_status,           $Apache::lonstatistics::enrollment_status,
          $resource->symb,$respid);           $resource->symb,$respid);
     #      #
Line 765  sub radio_response_analysis { Line 766  sub radio_response_analysis {
     $analysis_html .= $table;      $analysis_html .= $table;
     # Gather student data      # Gather student data
     my $response_data = &Apache::loncoursedata::get_response_data      my $response_data = &Apache::loncoursedata::get_response_data
         (\@Apache::lonstatistics::SelectedSections,          ([&Apache::lonstatistics::get_selected_sections()],
          $Apache::lonstatistics::enrollment_status,           $Apache::lonstatistics::enrollment_status,
          $resource->symb,$respid);           $resource->symb,$respid);
     my $correct;   # either a hash reference or a scalar      my $correct;   # either a hash reference or a scalar
Line 1170  sub OptionResponseAnalysis { Line 1171  sub OptionResponseAnalysis {
     my ($r,$problem,$problem_data,$Students) = @_;      my ($r,$problem,$problem_data,$Students) = @_;
     my ($resource,$respid) = ($problem->{'resource'},      my ($resource,$respid) = ($problem->{'resource'},
                               $problem->{'respid'});                                $problem->{'respid'});
     &Apache::lonnet::logthis('option response analysis on '.$resource->symb);  
     # Note: part data is not needed.      # Note: part data is not needed.
     my $PerformanceData = &Apache::loncoursedata::get_response_data      my $PerformanceData = &Apache::loncoursedata::get_response_data
         (\@Apache::lonstatistics::SelectedSections,          ([&Apache::lonstatistics::get_selected_sections()],
          $Apache::lonstatistics::enrollment_status,           $Apache::lonstatistics::enrollment_status,
          $resource->symb,$respid);           $resource->symb,$respid);
     if (! defined($PerformanceData) ||       if (! defined($PerformanceData) || 
Line 1216  sub OR_tries_analysis { Line 1216  sub OR_tries_analysis {
     if (! defined($Concepts)) {      if (! defined($Concepts)) {
         $Concepts = [];          $Concepts = [];
     }      }
     &Apache::lonnet::logthis('got '.scalar(@$PerformanceData).' data points');  
     my %response_data = &OR_analyze_by_tries($r,$PerformanceData,      my %response_data = &OR_analyze_by_tries($r,$PerformanceData,
                                                      $mintries,$maxtries);                                                       $mintries,$maxtries);
     my $analysis = '';      my $analysis = '';
Line 1273  sub OR_tries_analysis { Line 1272  sub OR_tries_analysis {
     if (defined($Concepts)) { $num_concepts = scalar(@$Concepts); }      if (defined($Concepts)) { $num_concepts = scalar(@$Concepts); }
     #      #
     for (my $try=$mintries;$try<=$maxtries;$try++) {      for (my $try=$mintries;$try<=$maxtries;$try++) {
         &Apache::lonnet::logthis('try = '.$try);  
         if (! defined($response_data{'_total'}->[$try]) ||          if (! defined($response_data{'_total'}->[$try]) ||
             $response_data{'_total'}->[$try] == 0) {               $response_data{'_total'}->[$try] == 0) { 
             if ($try > 1) {              if ($try > 1) {
Line 1307  sub OR_tries_analysis { Line 1305  sub OR_tries_analysis {
                 ('Correct Concepts','Concept Number','Percent Correct',                  ('Correct Concepts','Concept Number','Percent Correct',
                  100,$plotcolors,undef,\@concept_plot_data,{xskip=>1});                   100,$plotcolors,undef,\@concept_plot_data,{xskip=>1});
         }          }
         &Apache::lonnet::logthis('got here a_0');  
         #          #
         # Create Foil Plots          # Create Foil Plots
         my $data_count = $response_data{'_total'}->[$try];          my $data_count = $response_data{'_total'}->[$try];
         my $correct = $response_data{'_correct'}->[$try];          my $correct = $response_data{'_correct'}->[$try];
           if (! defined($correct)) { $correct = 0; }
         my @Datasets;          my @Datasets;
         foreach my $option ('_correct',@{$ORdata->{'_Options'}}) {          foreach my $option ('_correct',@{$ORdata->{'_Options'}}) {
             &Apache::lonnet::logthis('checking option '.$option);  
             next if (! exists($foil_plot[$try]->{$option}));              next if (! exists($foil_plot[$try]->{$option}));
             push(@Datasets,$foil_plot[$try]->{$option});              push(@Datasets,$foil_plot[$try]->{$option});
         }          }
         &Apache::lonnet::logthis('got here a');  
         #          #
         # Put a blank in the data set between concepts          # Put a blank in the data set between concepts
         for (my $set =0;$set<=$#Datasets;$set++) {          for (my $set =0;$set<=$#Datasets;$set++) {
Line 1335  sub OR_tries_analysis { Line 1331  sub OR_tries_analysis {
         }          }
         #          #
         # Set up the labels needed for the bar graph          # Set up the labels needed for the bar graph
         &Apache::lonnet::logthis('got here b');  
         my @Labels;          my @Labels;
         my $idx = 1;          my $idx = 1;
         foreach my $concept (@{$Concepts}) {          foreach my $concept (@{$Concepts}) {
Line 1351  sub OR_tries_analysis { Line 1346  sub OR_tries_analysis {
                   
         #          #
         #          #
         &Apache::lonnet::logthis('got here c');  
         next if (! defined($Datasets[0]));          next if (! defined($Datasets[0]));
         &Apache::lonnet::logthis('got here d');  
         for (my $i=0; $i< scalar(@{$Datasets[0]});$i++) {          for (my $i=0; $i< scalar(@{$Datasets[0]});$i++) {
             $Datasets[0]->[$i]=0;              $Datasets[0]->[$i]=0;
         }          }
Line 1362  sub OR_tries_analysis { Line 1355  sub OR_tries_analysis {
         my $incorrect_graph = &Apache::loncommon::DrawBarGraph          my $incorrect_graph = &Apache::loncommon::DrawBarGraph
             ('Incorrect Statements','Statement','% Chosen Incorrectly',              ('Incorrect Statements','Statement','% Chosen Incorrectly',
              100,$plotcolors,\@Labels,@Datasets,{xskip=>1});               100,$plotcolors,\@Labels,@Datasets,{xskip=>1});
         &Apache::lonnet::logthis('incorrect graph = '.$incorrect_graph);  
         $analysis_html.=           $analysis_html.= 
             '<tr><td colspan="4" align="center">'.              '<tr><td colspan="4" align="center">'.
             '<font size="+1">'.              '<font size="+1">'.

Removed from v.1.116  
changed lines
  Added in v.1.118


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>