executes the indicated debug command
current call stack :
uws_result
-------------------------------------------------------------
-->[stepv] nextv
?.. Normal_thetanweightl := Factors_pso_convertto_normal *
Pso_thetanweightl
-->[nextv]
?no_value ?no_value ?no_value ?no_value ?no_value ?no_value ?no_value ?no_value ?no_value ?no_value ?no_value
?no_value ?no_value ?no_value ?no_value ?no_value ?no_value ?no_value ?no_value ?no_value
?.. %
-->[nextv] Factors_pso_convertto_normal
?no_value
>> that explains it. Factors_pso_convertto_normal is supposed to be global?
PuetzUWS_optimize does that - but Factors_pso_convertto_normal isn't even in the code!!
08********08
#] 13Jan2021 adjustments to code
OUCH!! I was integrating link d_Puetz 'PuetzUWS- tests.ndf' into my normal code
That's a no-no - the data in tests has to be stable!!
20 (gage shape rowsSelect) reshape factors_normal_convertTo_PSO
factorTable := transpose ((2 * n_thetaN) (gage shape rowsSelect) reshape factors_normal_convertTo_PSO)
factorTable := ((2 * n_thetaN) (gage shape rowsSelect) reshape factors_normal_convertTo_PSO)
seedParamL := factorTable EACHBOTH * (transpose seedParamL)
+-----+
olde code
# PuetzUWS_testSetup IS -
# 13Jan2021 I made global [SP500paramL, UWSparamL, PSO_paramL] to allow setup use for :
# while working on other parts of the program
# quick PuetzUWS_testSetup edit loops to adjust optimization parameters
# avuse of other test
%seedParamL := rows allErrParamTable|[rowsSelect,] ;
%seedParamL := TWIG tonumber (2 EACHRIGHT drop seedParamL) ;
%seedParamL := factors_normal_convertTo_PSO EACHRIGHT * seedParamL ;
n_rowsSelect := gage shape allErrParamTable_seedIndxL ;
rows_seed cols_seed := gage shape allErrParamTable_seedIndxL ;
n_seeds n_params := [gage shape, gage shape first] seedParamL ;
08********08
#] 13Jan2021 continue [symbol redefs, LOCAL, NONLOCAL] add extra code
$ d_Puetz="/media/bill/SWAPPER/Website - raw/economics, markets/SP500/PuetzUWS/"
$ diff "$d_Puetz""test03 DUWS_2011 cycles 26-35.ndf" "$d_Puetz""test03 DUWS_2011 cycles 26-35.ndf2"
+-----+
Olde code
# (link `" (str_replace_subStr ' ' '_' timestamp_YYMMDD_HMS) '_') EACHRIGHT link (EACH string tell 10)
# olde code
% gbest is short for "global best for all particles" from all [iteration, run]s ;
i_gbest := find [min, pass] errorL ;
paramTable := paramL|[,i_gbest] ;
% pbest is short for "global best for each particle" from all [iteration, run]s ;
paramTable := link thetaNtable weightL ;
strL_n_thetaN := EACH string (tell n_thetaN) ;
params_titles := link
( ((n_thetaN reshape ['thetaN_']) EACHBOTH link strL_n_thetaN)
((n_thetaN reshape ['weight_']) EACHBOTH link strL_n_thetaN)
) ;
Change :
+.....+
% 13Jan2021 I'm removing thetaNweightL etc. Given seedParamL, I only really need lambdaL ;
% thetaNweightL - Particle Swarm Optimisation cycle [thetaNL,weightL] parameters ;
% (not the [controls, lambda]) ;
UWS_verPhr UWS_rowIL UWS_colIL UWS_weightL := UWSparamL ;
UWS_versn := table_remove_colTitles execute UWS_verPhr ;
% [xCol, yCol] are provided "as seen" in UWS_table, not the "raw" for after removing [row, col] titles ;
lambdaL thetaNL := cols UWS_versn|[UWS_rowIL - 1, UWS_colIL - 1] ;
% note that necessarily (= n_lambda n_thetaN n_weight) ;
n_thetaN := gage shape thetaNL ; % UWS_error needs as global ;
% these calculations are the inverse of those in UWS_error ;
% note the order: thetaNL then UWS_weightL ;
thetaNweightL := link (thetaNL / 2 / PI) (UWS_weightL / 10) ;
% UWS_error requires lambdaL n_thetaN dataCols xDataL yDataL ;
% but PSO_optimize doesn't use the "normal" form of these variables ;
% Rather than pass-through variables, they are set as global for direct access by UWS_error ;
+.....+
To :
+.....+
+.....+
08********08
#] 10Jan2021 Improved PuetzUWS results I also have to run much larger iterations of PSO (overnight)
Now that DUWS works far better (some coding errors corrected), redo UWS L1&L2.
# PSO Control variables as required. These are varied for tests ;
# b = bug in code,
# E_CUTOFF MAXITER max_runs
# PSO_controlL := n_part MAXV PSOweight
# PSO_controlL_std := 5 0.02 100.0 2000 0.9 2 ;
# [done, current] down this list
# PuetzUWS_optimize_test 5 0.02 0.3 2000 0.9 1 oops - MAXITER way too large for debugging!
# PuetzUWS_optimize_test 20 20 0.3 1000 0.9 1 still a bit too slow for debug
# PuetzUWS_optimize_test 20 20 0.3 200 0.9 1 for a fast "bug-hunt" run, passable results.
# PuetzUWS_optimize_test 100 5 0.3 2000 0.9 1 Now hunting for a better solution
# PuetzUWS_optimize_test 500 5 0.3 2000 0.9 1 too many [particle, iteration]s? ~8 hour run
# This run may have converged very early. I stopped it prematurely
# It appears that all particles converge on a common solution fairly quickly. Perhaps it is better to use :
# smaller [particle populations, iterations]
# do multiple runs
# PSO_optimize
# comment out to get greater diversity of solutions : seed .25374
# eliminate the initial PSO_params_std :
# IF (~= null PSO_paramL) THEN xx|[,0] := PSO_paramL ; ENDIF ;
# PuetzUWS_optimize_test 30 5 0.3 200 0.9 10
08********08
#] 10Jan2021 Fourier series analysis
Do I have old code - for solar activity Ephemeris modelling?
$ find "$d_Qndfs" -maxdepth 4 -type f -name "*" | grep --invert-match "z_Old\|z_Archive" | tr \\n \\0 | xargs -0 -IFILE grep --with-filename --line-number "Fourier" "FILE"
/media/bill/PROJECTS/Qnial/MY_NDFS/PuetzUWS - Universal Waves Series.ndf:11:[[standard, Fast] Fourier, wavelet] series fits as comparisons
/media/bill/PROJECTS/Qnial/MY_NDFS/PuetzUWS - Universal Waves Series.ndf:65:loaddefs link d_Qndfs 'Fourier transform.ndf'
>> Sheesh, embarassing. I just did that check a couple of days ago!
/media/bill/SWAPPER/Climate static
/usr/share/scilab/
NYET - get back to UWS - I had made graphing errors, the double-wave series works much better now!
+-----+
Fourier series file references outside of d_Qndfs :
$ find "$d_SWAPPER" -maxdepth 4 -type f -name "*" | grep --invert-match "Website - raw\|z_Old\|z_Archive" | tr \\n \\0 | xargs -0 -IFILE grep --with-filename --line-number "Fourier" "FILE"
>> pertinent finds only :
/media/bill/SWAPPER/Steve - modelling/170309 CUDA build.txt:44: The FFT is a divide-and-conquer algorithm for efficiently computing discrete Fourier transforms of complex or real-valued data sets. It is one of the most important and widely used numerical algorithms in computational physics and general signal processing. The cuFFT library provides a simple interface for computing FFTs on an NVIDIA GPU, which allows users to quickly leverage the floating-point power and parallelism of the GPU in a highly optimized and tested FFT library.
/media/bill/SWAPPER/Steve - modelling/170309 CUDA build.txt:49: The FFT is a divide-and-conquer algorithm for efficiently computing discrete Fourier transforms of complex or real-valued data sets. It is one of the most important and widely used numerical algorithms in computational physics and general signal processing. The cuFFT library provides a simple interface for computing FFTs on an NVIDIA GPU, which allows users to quickly leverage the floating-point power and parallelism of the GPU in a highly optimized and tested FFT library.
Binary file /media/bill/SWAPPER/Languages/NeuroSolutions GettingStartedManual.PDF matches
/media/bill/SWAPPER/Languages/Fall holidays 2011-Sep-14 through 31/110914 Yaskell email Many thanks.html:19:When you read though these you'll start to see what is meant by it all. I
... [big, long] paragraph trimmed ...
the better scientists who are coming - and to whom as children or youths, I wish to reach w/ this book.
Binary file /media/bill/SWAPPER/Climate static/Friends of Science/Holding for Process/__Holding for process, 100617, afjacobs@telus.net, v1, Arrhenius and the Greenhouse.pdf matches
Binary file /media/bill/SWAPPER/Climate static/Friends of Science/Holding for Process/__Holding for process, 100617, afjacobs@telus.net, v0, Arrhenius and the Greenhouse.pdf matches
Binary file /media/bill/SWAPPER/Climate static/Friends of Science/Holding for Process/__Holding for process, 090319, afjacobs@telusplanet.net, v1, no name matches
Binary file /media/bill/SWAPPER/Climate static/Friends of Science/Holding for Process/__Holding for process, 090319, afjacobs@telusplanet.net, v3, no name matches
/media/bill/SWAPPER/Climate static/0_solar notes.txt:59: Le and Wang, 2003 - Fourier analysis of sunspot numbers over the past 400 years gave average periods of 53 and 101 years.
/media/bill/SWAPPER/Climate static/Datasets/Charvatova solar inertial motion & activity/_Charvatova - solar inertial motion & activity.html:40:correspondance of Fourier and power spectrum periodicities / frequencies for SIM
/media/bill/SWAPPER/backup permanent/Pandemics, Kp index, sunspots/0_Pandemics, Kp, sunspot notes.txt:998:The expected number of deaths is based on fitting weekly mortality reports for the previous 5 years (omitting epidemic weeks) to the following equation by a least squares Fourier Regression Model:
>> no actual computer programming code
+-----+
QNial programs outside of d_Qndfs :
$ find "$d_SWAPPER" -maxdepth 4 -type f -name "*.ndf" | grep --invert-match "Website - raw/Software programming & code/Qnial\|z_Old\|z_old\|z_Archive\|backup permanent/Qnial programming language/"
In my ToDs list now. I'll copy subDir/*.ndf into d_Qndfs
08********08
#] 09Jan2021 PSO to fit SP500 with PuetzUWS (cont'd)
# csvTable_readFrm_path IS OP path n_cols - read a csv table from file (tab-cols, apostrophe-txt)
, 2018.97123 , ?tokens left: 1446 <***> , 2019.06027 , ?tokens left: 1447 <***> , 2019.13836 , ?tokens left: 1
>> Not working ..
# p_data := link d_Puetz 'SP500 1870-2030 y-log detrend.dat'
csvTable_readFrm_path p_data
+-----+
olde code
IF flag_debug THEN write 'loading PuetzUWS_optimize_check_PSO_controlL_test' ; ENDIF ;
# PuetzUWS_optimize_check_PSO_controlL_test IS - check the PSO control parameters
# 08Jan2021 won't work - output standards are for non-standard inputs
PuetzUWS_optimize_check_PSO_controlL_test IS
{ LOCAL p_data p_out PSO_controlL_double_check ;
NONLOCAL UWScycleVersion_std UWSoptrPhr_std UWS_2011_test n_UWScycles UWS_rowIL_std
lambdaL_std thetaNL_std weightL_std n_params_std params_std
lambdaL_stdPSO thetaNL_stdPSO weightL_stdPSO PARAMS_STDPSO
IRang_L_std IRang_R_std n_particles_std tell_particles_std
E_CUTOFF_std MAXV_std MAXITER_std PSOweight_std max_runs_std PSO_controlL_std
vx_std xx_std gbest_std pbest_std
x_start_std x_end_std x_step_std xList_std ;
p_data := link d_Qtest 'fit_linearRegress - tests SP500 1872-2020 TradingView download.dat' ;
p_out := link d_Qtest 'fit_linearRegress - tests SP500 1872-2020 PSO_controlL output.txt' ;
PSO_controlL_double_check := 0.02 0.1 2000 0.9 2 (0.992744 0.164248 0.221416 0.907139 0.135713 0.878571 0.12619 0.20873 0.236243) (0.1 0.12 0.14 0.16 0.18 0.2 0.22 0.24 0.26) '/media/bill/ramdisk/PSO_optimize output.txt' ;
% SP500paramL := optrPhr xCol yCol p_data p_result p_gnuPlot ;
% UWSparamL := UWSversnPhr UWS_rowIL UWS_colIL UWS_weightL ;
IF (= PSO_controlL_std PSO_controlL_double_check)
THEN write 'PuetzUWS_plotTrans_test01 : OK' ;
ELSE write 'PuetzUWS_plotTrans_test01 : ERROR' ;
ENDIF ;
}
# loaddefs link d_Qtest 'PuetzUWS- tests.ndf'
08********08
#] 08Jan2021 PuetzUWS_refncParams - PSO to fit SP500 with PuetzUWS
+-----+
Olde code
link d_Qndfs 'PuetzUWS - Universal Waves Series.ndf'
# loaddefs link d_Qndfs 'Puetz - Universal Waves Series.ndf'
>> For this, I have simple_globals_test in link d_Qtest 'PuetzUWS- tests.ndf'
IF flag_debug THEN write 'loading PuetzUWS_refncParams' ; ENDIF ;
PuetzUWS_refncParams IS OP UWSoptrPhr UWS_rowIndxL UWS_colIndxL -
setup reference [weightL, lambdaL, thetaNL] as global (NONLOCAL) variables
# PuetzUWS_refncParams IS OP UWS_phr UWS_rowIndxL UWS_colIndxL -
# setup reference [weightL, lambdaL, thetaNL] as global (NONLOCAL) variables
# 18Apr2020 initial, 28Dec2020 revamp, 02Jan2021 generalize
# example weights for each cycle are arbitrary -> see Puetz & Borchard 2011 p467
# UWS_phr = ["UWS_2011, "UWS_2014], but usually "UWS_2011
PuetzUWS_refncParams IS OP UWS_phr UWS_rowIndxL UWS_colIndxL
{ LOCAL UWS_model ;
NONLOCAL lambdaRefL thetaNRefL weightRefL ;
weightRefL := 1 + ((tell (gage shape UWS_rowIndxL)) * 0.2) ;
UWS_model := execute UWS_phr ;
lambdaRefL thetaNRefL := cols UWS_model|[UWS_rowIndxL,UWS_colIndxL] ;
}
# UWS_2011|[2 28 29 30 31 32 33 34 35,1 3]
# args for d_webRawe, typically (x_start x_end) = (1870 2030)
UWStype y[start,end,inc] UWS_series UWScols dir fBaseName
SP500_PuetzUWS 1870 2030 0.1 "UWS_2011 (1 3) d_Puetz fBaseNameUWS
SP500_PuetzUWS 1870 2030 0.1 "UWS_2011 (2 4) d_Puetz fBaseNameDUWS
# args for d_Qtest - just test the regular series, see PuetzUWS_test_all below
UWStype y[start,end,inc] UWS_series UWScols dir fBaseName
SP500_PuetzUWS 1870 2030 0.1 "UWS_2011_test (1 3) d_Qtest fBaseUWS_test
# p_datDUWS := link dir 'PuetzDUWS 1870-2030 test01.dat' ;
#
fBaseNameUWS := 'PuetzUWS model for SP500 1870-2030 non-fitted' ;
fBaseNameDUWS := 'PuetzDUWS model for SP500 1870-2030 non-fitted' ;
fBaseNameUWS_and_DUWS
:= 'Puetz [,D]UWS models for SP500 1870-2030 non-fitted' ;
fBaseUWS_test := 'test- PuetzUWS model for SP500 1870-2030 non-fitted' ;
fBaseDUWS_test := 'test- PuetzDUWS model for SP500 1870-2030 non-fitted' ;
fBaseUWS_and_DUWS_test
:= 'test- Puetz [,D]UWS models for SP500 1870-2030 non-fitted' ;
# args for d_webRawe
UWStype y[start,end,inc] UWS_series UWScols dir fBaseNameUWS_and_DUWS
SP500_PuetzUWS_and_DUWS 1870 2030 0.1 "UWS_2011 (2 4) d_Puetz 'Puetz [,D]UWS models for SP500 1870-2030 non-fitted'
# args for d_Qtest
UWStype y[start,end,inc] UWS_series UWScols dir fBaseUWS_and_DUWS_test
SP500_PuetzUWS_and_DUWS 1870 2030 0.1 "UWS_2011_test (2 4) d_Qtest 'test- Puetz [,D]UWS models for SP500 1870-2030 non-fitted'
# Puetz_UWS_optimisation - flag_test forces output, but does NOT launch PSO :
IF flag_test THEN write E_CUTOFF MAXV MAXITER PSOweight max_runs paramsGiven p_out ; ENDIF ;
qnial> Puetz_UWS_optimisation_test
27 28 29 30 31 32 33 34 35
>> OK
# run test - intermediate outputs are tables too large to paste here
-->[nextv]
24352.4
>> maybe set E_CUTOFF := 1000 in Puetz_UWS_optimisation to see how that goes
# typical settings :
xDataL -> time (years), but could be a different basis than for "time-series analysis"
yDataL -> given (data) values for each of xDataL. With SP500, there ily a single output variable
UWS_indxL := 27 + (tell (35 - 27 + 1)) ;
p_data := link d_webRawe 'economics, markets/SP500/multi-fractal/SP500 1872-2020 TradingView download.dat' ;
# p_data := link d_Qtest 'test- SP500 1872-2020 TradingView download.dat'
# dataTable := table_remove_colTitles tabTable_readFrm_path p_data
PSO_controlL := n_particles E_CUTOFF MAXV MAXITER PSOweight p_out ;
08********08
#] 07Jan2021 Puetz_UWS_optimisation - PSO to fit SP500 with PuetzUWS
link d_Qndfs 'PuetzUWS - Universal Waves Series.ndf'
# Puetz_UWS_optimisation IS OP UWS_phr UWS_cols UWS_indxL p_data p_out -
# adapt PuetzUWS cycle [weight, phase angle]s to fit the SP500 seemi-log detrended series 1872-2020
link d_Qtest 'PuetzUWS- tests.ndf'
big [LMDE, Dell 64] computer freeze (probably didn't reboot after updatess)
08********08
#] 06Jan2021 Linear regression fits of [DJIA 1872-1926, SP500 1926-2020]
I had to massively revamp my code : link d_Qndfs 'fit_linearRegress.ndf'
linearRegressSingle (SLR) is needed, not MLR, which is good because the MLR is now broken
$ gnuplot "$d_webRawe""economics, markets/SP500/PuetzUWS/SP500 1870-2030 y-log.plt"
$ gnuplot "$d_webRawe""economics, markets/SP500/PuetzUWS/SP500 1870-2030 y-log detrend.plt"
#] 07Jan2021 Fibonacci series :
https://moneyminiblog.com/investing/fibonacci-sequence/
Note from Kalen:
There are four main Fibonacci retracements:
23.6% – Shallow retracements, flags (short continuation patterns) occur here
38.2% – Moderate retracements
50% – This retracement is not a ratio from the Fibonacci sequence, this number is found from a Dow Theory that states that on average retracement are half of their prior move
61.8% – The golden retracement based upon the Golden Ratio
https://www.smithsonianmag.com/science-nature/fibonacci-sequence-stock-market-180974487/
If you divide each number in the sequence by its predecessor (except for 1 divided by 0), then as you move toward higher numbers, the result converges on the constant phi, or approximately 1.61803, otherwise known as the golden ratio.
I commonly see : 0.236, 0.382, 0.5, 0.724, 1., 1.382, 2., 2.618, 4.23729
qnial> fib := 0 1 1 2 3 5 8 13 21 34 55 89
0 1 1 2 3 5 8 13 21 34 55 89
qnial> front fib / (rest fib)
0. 1. 0.5 0.666667 0.6 0.625 0.615385 0.619048 0.617647 0.618182 0.617978
gold := 1.61803
qnial> (2 dropright fib) / (2 drop fib)
0. 0.5 0.333333 0.4 0.375 0.384615 0.380952 0.382353 0.381818 0.382022
qnial> (3 dropright fib) / (3 drop fib)
0. 0.333333 0.2 0.25 0.230769 0.238095 0.235294 0.236364 0.235955
qnial> (4 dropright fib) / (4 drop fib)
0. 0.2 0.125 0.153846 0.142857 0.147059 0.145455 0.146067
qnial> (3 dropright fib) / (3 drop fib)
0. 0.333333 0.2 0.25 0.230769 0.238095 0.235294 0.236364 0.235955
qnial> (5 dropright fib) / (5 drop fib)
0. 0.125 0.0769231 0.0952381 0.0882353 0.0909091 0.0898876
qnial> 1 / 0.618 0.382 0.236 0.090
1.61812 2.6178 4.23729 11.1111
get the last one more accurately
qnial> fib := 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
qnial> (5 dropright fib) / (5 drop fib)
0. 0.125 0.0769231 0.0952381 0.0882353 0.0909091 0.0898876 0.0902778 0.0901288 0.0901857
qnial> 1 / 0.09015
11.0926 or 11.1 to the accuracy I did it
08********08
#] 06Jan2021 Linear regression fits of [DJIA 1872-1926, SP500 1926-2020]
Yesterday, I got the multipleLinearRegress code of Smillie to work (again, as I have done so, from Smillie and others, a few times in the past)
Now to do semi-log fits of the markets, followed by down-shifting to 0 (zero) average over 1872-2020
from : link d_webRawe 'economics, markets/SP500/PuetzUWS/SP500 1872-2020 TradingView, 1928-2020 yahoo finance.ods'
/media/bill/SWAPPER/Website - raw/economics, markets/SP500/PuetzUWS/SP500 1872-2020 TradingView, 1872-1926 DJIA, 1926-2020 SP500.dat
year,1872-2020 SPCFD:SPX index (source https://www.tradingview.com/chart/0Nbdx1FG/ download : long [uptrends are compressed downtrends are expanded] in %),ratio of opening price/semi-log trend,1871-1926 ratios : [xStart yStart semiLogSlope] = [1871.08 6.09 0.000140925],1926-2020 ratios : [xStart yStart semiLogSlope] = [1926.25 6.20 0.0289587 ],
>> OK, I played with gnuplot and data to start to get ready
Multiple linear regression fits : [1872-1926, 1926-2020]
put data in log format in file of [year, log(SP500 1872-1926), log(SP500 1872-1926)]
- just add to spreadsheet!!!
set :
qnial> pinn := link d_webRawe ''
qnial> pout := link d_webRawe ''
qnial> dirArchive := link d_webRawe ''
from : link d_Qndfs 'matrix operations - symbolic & real-valued.ndf' :
multipleLinearRegress IS OP xColIndxL yColIndx pinn pout dirArchive
qnial> multipleLinearRegress [0] yColIndx pinn pout dirArchive
see link d_Qtest 'multiple linear regression - tests.ndf'
+-----+
$ gnuplot "$d_webRawe""economics, markets/SP500/PuetzUWS/SP500 1870-2030 y-log.plt"
Y F8:F421
X : D8:D421
Linear type : leave blank
stats : TRUE
08********08
#] 04Jan2021 what is WebPlotDigitizer? I seem to have used it?
+-----+
linear regression of log[DJIA 1872-1926, SP500 1926-2020]
I created optrs in link d_Qndfs 'PuetzUWS - Universal Waves Series.ndf'
section : linear regression of log[DJIA 1872-1926, SP500 1926-2020]
Interpolation.ndf - has regression (based on Smillie, with data structures)
$ find "$d_Qndfs" -maxdepth 4 -type f -name "*.ndf" | tr \\n \\0 | xargs -0 -IFILE grep --with-filename --line-number "regression" "FILE"
add_ISOP_debug (link d_Qndfs 'multiple linear regression - NN41 Smillie Uof Alberta.NDF')
add_ISOP_debug (link d_Qndfs 'matrix_multiply.ndf')
+-----+
search "Libre Calc and where is the regression analysis toolpack?"
https://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=83005
Re: Is there an analysis toolpak for OpenOffice Calc
Postby jrkrideau » Wed Apr 20, 2016 12:46 pm
SamRose wrote:
Hello.
I'm currently taking a statistics class and for one of the assignments, if I were using Microsoft Excel, I would need the Analysis Toolpak. I'm working pretty exclusively with OpenOffice programs, so I wanted to know if there was something similar in OpenOffice Calc?
There are at least two extensions listed as statistical add-ons for Calc. R4Calc - R Statistics for OOoCalc and Statistical Data Analyser for OO Calc. Just go to the extensions site and type statistics into the search box.
I have no experience of either but assuming R4Calc does what it says it does, I'd suggest trying it as the underlying R programming will be okay.
However I consider using a spreadsheet for statistics to be very poor practice. See for example Spreadsheet errors. Note the example describes Excel and LibreOffice, but AOO Calc did the same the last time I checked.
Unless the course demands the use of spreadsheets, I'd suggest using an statistical program. Have a look at R . It is a real stats system and even gives the right answers. Not exactly really easy to use at first but much better than a spreadsheet.
You might want to have a look at RCommander, an R GUi which probably do as much or more than Excel's Analysis Toolpak with the added bonus it will do it correctly.
+-----+
search "https://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=83005"
https://www.howtogeek.com/281537/how-to-install-and-manage-extensions-in-libreoffice/
Lori Kaufman @howtogeek
November 23, 2016, 10:24am EDT
To begin, if you’re going to install an extension for a specific LibreOffice program, open that program. Otherwise, you can open any of the programs. We’re going to use Writer for our example, so we’ll open Writer. Then, go to Tools > Extension Manager.
To browse and download extensions for LibreOffice, visit the LibreOffice Extension Center.
http://extensions.libreoffice.org/extension-center
You can also access the Extension Center by clicking the “Get more extensions online” link on the Extension Manager dialog box.
>> I can't find the regression analysis package - may not be there anymore?
Use my own QNial program and try the R stat system which I downloaded
# enddoc