version 1.98, 2004/10/29 15:52:32
|
version 1.101, 2004/10/29 16:39:42
|
Line 631 sub RR_concept_plot {
|
Line 631 sub RR_concept_plot {
|
sub RR_create_percent_selected_plot { |
sub RR_create_percent_selected_plot { |
my ($concepts,$foils,$foil_data,$title) = @_; |
my ($concepts,$foils,$foil_data,$title) = @_; |
# |
# |
my %foil_selections; |
if ($foil_data->{'_count'} == 0) { return ''; }; |
my %true; |
my %correct_selections; |
|
my %incorrect_selections; |
foreach my $foil (@$foils) { |
foreach my $foil (@$foils) { |
# foil_data has format $foil_data->{true_foil}->{selected foil} |
# foil_data has format $foil_data->{true_foil}->{selected foil}=count |
next if (! exists($foil_data->{$foil})); |
next if (! exists($foil_data->{$foil})); |
$true{$foil}++; |
|
while (my ($f,$count)= each(%{$foil_data->{$foil}})) { |
while (my ($f,$count)= each(%{$foil_data->{$foil}})) { |
$foil_selections{$f}+=$count; |
if ($f eq $foil) { |
|
$correct_selections{$foil} += $count; |
|
} else { |
|
$incorrect_selections{$f} += $count; |
|
} |
} |
} |
} |
} |
# |
# |
Line 647 sub RR_create_percent_selected_plot {
|
Line 651 sub RR_create_percent_selected_plot {
|
my @correct; |
my @correct; |
my @incorrect; |
my @incorrect; |
# |
# |
my $total =0; |
my $total = $foil_data->{'_count'}; |
for (my $i=0;$i<scalar(@$foils);$i++) { |
for (my $i=0;$i<scalar(@$foils);$i++) { |
my $foil = $foils->[$i]; |
my $foil = $foils->[$i]; |
if ($true{$foil}) { |
$correct[$i] = $correct_selections{$foil}; |
$correct[$i] = $foil_selections{$foil}; |
$incorrect[$i] = $incorrect_selections{$foil}; |
$incorrect[$i] = 0; |
|
} else { |
|
$correct[$i] = 0; |
|
$incorrect[$i] = $foil_selections{$foil}; |
|
} |
|
$total+=$foil_selections{$foil}; |
|
} |
} |
if ($total == 0) { return ''; }; |
|
for (my $i=0;$i<=$#correct;$i++) { |
for (my $i=0;$i<=$#correct;$i++) { |
$correct[$i] = sprintf('%0f',$correct[$i]/$total*100); |
$correct[$i] = sprintf('%2f',$correct[$i]/$total*100); |
} |
} |
for (my $i=0;$i<=$#incorrect;$i++) { |
for (my $i=0;$i<=$#incorrect;$i++) { |
$incorrect[$i] = sprintf('%0f',$incorrect[$i]/$total*100); |
$incorrect[$i] = sprintf('%2f',$incorrect[$i]/$total*100); |
} |
} |
# |
# |
# Put a blank in the data sets between concepts, if there are concepts |
# Put a blank in the data sets between concepts, if there are concepts |
Line 1236 sub OR_time_process_data {
|
Line 1233 sub OR_time_process_data {
|
if ($end_index == scalar(@$performance_data)-1) { |
if ($end_index == scalar(@$performance_data)-1) { |
$end_index++; |
$end_index++; |
} |
} |
&Apache::lonnet::logthis(' '.$begin_index.':'.$end_index); |
|
my $count; |
my $count; |
for (my $i=$begin_index;$i<$end_index;$i++) { |
for (my $i=$begin_index;$i<$end_index;$i++) { |
my $attempt = $performance_data->[$i]; |
my $attempt = $performance_data->[$i]; |
Line 1256 sub OR_time_process_data {
|
Line 1252 sub OR_time_process_data {
|
} |
} |
} |
} |
} |
} |
&Apache::lonnet::logthis('count = '.$count); |
|
return (\%processed_time_data,$correct,$data_count, |
return (\%processed_time_data,$correct,$data_count, |
scalar(keys(%distinct_students))); |
scalar(keys(%distinct_students))); |
} |
} |