Test version of new EpiData Analysis released (v0.7.0.3) - please assist in testing.
Exciting News
Today we have released a test version of the rewritten analysis, which for the first time approaches functionality resembling the final first version to be released later.
You may download the test version from http://www.epidata.dk/testing.php
Please notice that it is still premature to use the new analysis for production every day use, but we urge users to challenge the new analysis. You could for instance replicate data-management procedures you do with ordinary Classic Analysis v2.2. rel 3 (Build 187)
The intention is to release the new analysis for production when the following has been developed: A: all functionality for data management (new projects, new variables, labels and editing of these). B: append and merge. C: basic reporting - e.g. for logfile overview
Already now you may test many of these aspects. After download and unzipping (files are provided in zipped archives) you will see the commands and syntax documentation.
We attempt to maintain the same syntax that you know, but to allow for the modernization some changes are needed: e.g. read and write epx, csv and dta files ; work on all operating systems (Linux, Mac, Windows) ; accept UTF-8; extend with special functions; sort data; manage encrypted data. You can read rec files, but not write them. Use epx for saving data.
We also aim for standardization across commands. E.g. number of decimals in output is always !Dx, where x is the number of decimals 0,1,2 etc.
For data analysis these commands are implemented: count , means, freq,
Some changes: use := instead of = . Put texts in " " . End all command lines with ;. Selection works on a single block. Options are mentioned with ! instead of /.
Some enhancements: A copy of all executed commands is saved (commandlog.pgm). Recent pgm in editor filelist. Multiple pgm sorting ascending and descending and more. See datasets (F2) in a project. Open encrypted files.
A frequency table of v17:
freq v17 !vl !cum ; // would show labels and values plus cumulative percentage.
To do the same table among those younger than 40 with no decimals.
select (age < 40) do freq v17 !vl !d0;
To remove all observations with age above 68. Use the command drop:
select (age> 68) do drop data;
A new construct is a loop, e.g. :
new global integer i ; for i:=1 to 5 do ? "This is a number counting: " + i ;
Which can be used to show means or frequencies for subgroups of another variable:
new global integer i ; for i:= 1 to 5 do select (area = i) do means age !by:=sex !t;
Please challenge function within WHAT is already implemented. Also notice that output format is still rather crude. Rest assured more will come during autumn. But do remember that you should NOT use production data - work on copies of real data.
Please also discuss function and problems on this list.
Best wishes for fruitful testing
Torsten Christiansen Jens Lauritsen EpiData Association, Denmark
Dear all
Unfortunately there was a small typing error in the information mail yesterday. See below.
A simple program to read an old rec file could be just like this:
read "myfile.rec";
freq v1;
means age !by:=sex;
save "testdata.epx"; save "testdata.csv"; save "testdata.dta";
if you then open the epx file in Manager or EntryClient, the csv file in a spreadsheet or the dta file in Stata you will see that data in your recfile were converted to these other formats.
To test the correct formulation of new and edit etc just try the example below. You may copy and paste the following into the editor (f5) after starting new analysis. The example is a bit complex, but shows the level of ambition in functionality we are aiming at. Notice that // should be used to give a comment on a line, NOT * as it was previously.
Obviously user-friendly dialogs will be added to assist in the formulation of syntax, but that will come later.
best wishes Jens Lauritsen EpiData Association, Denmark
.... copy from next line - and paste into EpiData Analysis .
// example pgm - enjoy testing . JL July 2017 // share experiences in testing on the EpiData List: // EpiData development and support epidata-list@lists.umanitoba.ca
// just examples of what you may want to test
// clear screen and empty memory for any global constants; cls; close; drop global !all ;
// create the project: new project !title:="testdata";
// add datasets: new dataset dataform1 !size:=20; new dataset dataform2 !size:=10; use dataform1;
// create new variables: new variable v1 integer := random(1000); new variable v2 float := (2 * pi) * 5 + random(500); new variable v3 string := "Hello World!"; new variable v4 time := now(); new variable v5 integer := random(1); new variable v6 date := today();
// do some analysis means v1 !t ; // test that v1 is different from 0; means v2 !by:=v5;
// create loop global constants: new global j integer; new global limit integer;
// simple loop test: for j:= 1 to 5 do ? "loop test : " +j;
for j:= 1 to 4 do begin limit := j*250; select (v1 < limit )do count ; end;
// or a bit more complex:
for j:= 1 to 4 do begin select (v1 < (j*250)) do count ; ? "the number at v1 < " + limit + " was: " + $count; end;
list var; list global; list result; list dataset; // sort sort v1 v2; list data;
select v1 > 500 do sort v2 !descending; list data; // notice the reverse of second half of data based on v2
set ; // you may change, e.g.: set "echo" := "off"
save "testdata.epx" !replace; save "testdata.csv" !replace; save "testdata.dta" !replace;
participants (1)
-
EpiData development and support