From: <cde...@us...> - 2010-10-28 17:08:33
|
Revision: 7891 http://octave.svn.sourceforge.net/octave/?rev=7891&view=rev Author: cdemills Date: 2010-10-28 17:08:27 +0000 (Thu, 28 Oct 2010) Log Message: ----------- Various fixes and improvment Modified Paths: -------------- trunk/octave-forge/extra/dataframe/inst/@dataframe/cat.m trunk/octave-forge/extra/dataframe/inst/@dataframe/minus.m trunk/octave-forge/extra/dataframe/inst/@dataframe/summary.m Modified: trunk/octave-forge/extra/dataframe/inst/@dataframe/cat.m =================================================================== --- trunk/octave-forge/extra/dataframe/inst/@dataframe/cat.m 2010-10-28 14:39:05 UTC (rev 7890) +++ trunk/octave-forge/extra/dataframe/inst/@dataframe/cat.m 2010-10-28 17:08:27 UTC (rev 7891) @@ -33,7 +33,7 @@ case 1 resu = A; - for indi=1:length(varargin), + for indi = 1:length(varargin), B = varargin{indi}; if !isa(B, 'dataframe'), if iscell(B) && 2 == length(B), @@ -81,7 +81,8 @@ case 2 resu = A; - for indi=1:length(varargin), + + for indi = 1:length(varargin), B = varargin{indi}; if !isa(B, 'dataframe'), if iscell(B) && 2 == length(B), @@ -99,19 +100,15 @@ endif resu._name{2} = vertcat(resu._name{2}, B._name{2}); resu._over{2} = [resu._over{2} B._over{2}]; - indj = resu._cnt(2) + 1; - for indi = 1:B._cnt(2), - resu._data{indj} = B._data{indi}; - resu._type{indj} = B._type{indi}; - indj = indj + 1; - endfor + resu._data(resu._cnt(2)+(1:B._cnt(2))) = B._data; + resu._type(resu._cnt(2)+(1:B._cnt(2))) = B._type; resu._cnt(2) = resu._cnt(2) + B._cnt(2); endfor case 3 resu = A; - for indi=1:length(varargin), + for indi = 1:length(varargin), B = varargin{indi}; if !isa(B, 'dataframe'), if iscell(B) && 2 == length(B), Modified: trunk/octave-forge/extra/dataframe/inst/@dataframe/minus.m =================================================================== --- trunk/octave-forge/extra/dataframe/inst/@dataframe/minus.m 2010-10-28 14:39:05 UTC (rev 7890) +++ trunk/octave-forge/extra/dataframe/inst/@dataframe/minus.m 2010-10-28 17:08:27 UTC (rev 7891) @@ -26,29 +26,24 @@ %# %# $Id: minus.m 852 2010-07-22 10:47:55Z dupuis $ %# - +keyboard [A, B] = df_basecomp(A, B); - +keyboard if isscalar(A) %# B is a dataframe resu = B; - for indi = 1:B._cnt(2), - resu._data{indi} = A-B._data{indi}; - endfor + resu._data = cellfun(@(x) A-x, B._data, "UniformOutput", false); return elseif ismatrix(A), resu = B; - for indi = 1:B._cnt(2), - resu._data{indi} = A(indi, :) - B._data{indi}; - endfor + resu._data = cellfun(@(x, y) x-y, num2cell(A, 1), B._data, \ + "UniformOutput", false); return endif if isscalar(B), resu = A; - for indi = 1:A._cnt(2), - resu._data{indi} = A._data{indi} -B; - endfor + resu._data = cellfun(@(x) x-B, A._data, "UniformOutput", false); return elseif ismatrix(B), resu = A; Modified: trunk/octave-forge/extra/dataframe/inst/@dataframe/summary.m =================================================================== --- trunk/octave-forge/extra/dataframe/inst/@dataframe/summary.m 2010-10-28 14:39:05 UTC (rev 7890) +++ trunk/octave-forge/extra/dataframe/inst/@dataframe/summary.m 2010-10-28 17:08:27 UTC (rev 7891) @@ -53,7 +53,7 @@ s = statistics(df._data{:, indi}); s = s([1:3 6 4:5]); %# generate a column with name and fields name - resuR = strjust([deblank(df._name{1, 2}(indi, :)); + resuR = strjust([deblank(df._name{1, 2}{indi, :}); "Min. :"; "1st Qu.:"; "Median :"; "Mean :"; "3rd Qu.:"; "Max. :"], 'right'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |