Okay, now we have the output items and now let's go to the input items.
The special thing about the input items is that they create entries in subject tables.
If you click here on this little icon, then it's going to be input and input is stored
as an numeric information in the particular row of a for a subject that comes in a minute
under the respective variable, in this case here it's a contribution.
Another thing for you to know is that it needs to be a numeric information.
You may want to set a radio line or check boxes and all that stuff, so more complicated
stuff here so that people read alphabetic information and then they click on a certain
thing and this translates into a number.
So what people see, what people decide upon need not to be a numeric information but it
needs to be transferred here in this input item into an numeric information such that
it can be stored in the subject table.
So you cannot ask people here, so you cannot say profession, you cannot put here a variable
profession and then people have a free form text and then they write down the profession
that they have or the several professions that they have.
So this is not possible.
There are certain tricks to get that but usually you cannot do this here, at least not with
a standard input item.
So you need to have an numeric information.
It could be that you set default values.
Yeah, well, we have seen that but then you have to set the default here.
It can have dynamic minimum and maximum.
There's an exercise for I'd like you to do this exercise, I mean I would like that you
do all the exercises but while programming you will hopefully do my trick of writing
one thing and then checking with okay whether this is fine and then you see all the error
texts and you may want to play around with minimum and maximum.
That will help and give you a better understanding of these input items.
Yeah, the default thing is there's a full literature, experimental literature on default
values, so be careful with default values.
And then finally be aware that if there's no input, so if you have this participation
command and then people do not participate for them, there's not by default the value 0
stored. There's no information which means 0 is not a missing value. If you do not enter
information then there is no information. This is not the same as having here a 0 as an entry.
You may want to put also empty items. Let me go back, there was one.
No, but you could you could do here an empty item below that just for for a better
looking for for a better visualization of your questions. So these are labels
if you if you don't enter anything so no labels no variables then it's just a blank line
that sometimes helps to structure your screen and I usually put some empty items in between
such that people have clear separations between some other items.
Yes, and this is how it looks like if we combine all the stuff. That is what we have seen.
Here it's the labels are in German, so I hope you don't mind.
But the structure is exactly the same. Now,
all the items that you have here, all the elements that you have also background,
this screen and so if you want to activate that you have to double click on that.
Oops, now I double clicked and I hopped on the next slide. You can copy and paste. This means
you can cut out the display and the display screen or stage sorry the display stage then
contains all that stuff that follows here and then I can put this here below background for instance
or I could put a contribution behind display but of course be careful because then
you rely in the stage display on the contribution that is entered later on. So be careful with
copy and paste but it's possible. If you want to delete something, at the beginning I found it
strange to be honest that there is no real delete option here in ztree. It's just this copy
cut and paste a cut and then you don't paste basically but now I like this option because
if you do mistake if you delete too much there is no undo button here but it's just that you
paste what you have cut before and this brings this stuff back so you get pretty good use to this.
One thing that is very important is
that ztree executes all the stuff in a row and exactly the row how it is written in the probe.
Yeah so it goes from here to here so it first of all it creates the
the variables created in the background so first of all in this background so it's period subject
group because we specified the number of subjects the number of groups in our background they are
created here and we told the computer how many periods they play. Automatically created is
profit, total profit and participate. Participate is not not important here for this course
and then it proceeds to what we have created in the background so that's efficiency and endowment.
Then it continues to the first screen. That means that if you define efficiency and endowment
later on you could define it I don't know maybe here in the waiting screen you can attach this
program to later um oh no let's say that way and you attach this program here to that program so
you put this program just below that program then you're in deep trouble because remember
uh in the in the input variable contribution the upper limit for that was the endowment
and in the first run of the program it's not defined then you get an error code yeah so be
aware ztree things from here to there and it it it runs through the entire code that is
um enclosed in one one item or no no the outer item is the wrong word in in one program or in
one screen or stage yeah so so in particular the important thing is is the program so this key
is executed for all the persons then it proceed let's assume that this key is just below that's
that key let's assume that that were possible then uh this key is first executed for all the
people and then ztree continues with this key this runs into problem if you ask here
one could put all this information all together in this key here into into this program
but this may create some problems but i will come to that
so it's important think that way what happens in the second period in the second period it
repeats again the whole thing what is not so pleasant is that the working memory of ztree
unless you do certain tricks um but the usual stuff in the working memory of the first period
is gone yeah so this information all that stuff here is for ztree it is existing but not in the
working memory so you cannot say easily oh uh give me just the profit from the last period and those
people have the highest profit that they they do whatever in this experiment then you need
to this trick that i showed you uh in package oh uh in package one towards the end with this
find old subjects there you can go back once one period to the old subject table but the usual
stuff usually ztree only things uh for one period and full stop then all this information is transferred
to the excel file and not easily accessible for for z tree yeah so be be aware that um if you
have something across periods z tree is not the best software to handle that problem or you may
think of running having two periods in one z tree period and do you know what i mean so you have one
period and so the first three um stages are period one for the participant and
period two is for the participant is then uh stage four four five six
um yeah information is stored in uh in tables and the the deal is the following
the rows are representing the subjects and the columns represent the variables
and uh it's not you need you need some info some some effort to interchange information remember
that we had this game where um with the uh with the information that one subject
entered in the computer and then we had to mirror this back to all the other
to all the other this is due to this this row column structure because then you have one entry
for one participant here that we have this this crucial information but you need to
write another variable such that you can spread this information to all the other
uh as i said here the column represents the variable the role the subjects and
this input variable then writes here an information and if this applies to everybody then
for everybody there is some information here if it does not apply for everybody then there's
a missing value here again this is not a zero um but what could what one could do is then for
instance to overwrite yeah so you divide define beforehand contribution being equal zero and then
you create this input um item where some people write in uh higher than zero contributions
uh higher than zero contribution notice also if you want to play around with the decision times
there's an exciting literature about decision times and how much uh these how many decisions
are made in the head and how many are more made in the belly so spontaneous reactions
and how they are made then z3 gives you a good a rough uh estimation of the decision time it's
not like this physical no uh psychological uh software that really tests this to the millisecond
but for a first approach this is not too bad
yeah well you can uh start always if you if you run one uh one program to the very end
you can always start another program and this is not bad if you have several programs running
uh subsequently so if you if you want to do an experiment where you have several tasks that
people have fulfilled to put them in different programs and to run them subsequently because
then you may want to change the order of those programs and that can be easily done by just
running this with a different uh with the with a different schedule uh with a different order
instead of having everything in one program you know this is also if you have a very long program
you really see that z3 is quite heavily working it takes a lot of time to compile for that program
when you press new uh start treatment there so it it's not bad to to split everything up in in
several parts and to have several programs run and you see that it's just divided by different
numbers at the very beginning if you want to transfer information by the way from one program
to the other that's possible um we maybe have um uh a little yeah i think we have we have a
little exercise on that later on i think it's in package seven uh yeah this uh we all have done
so this is also when you press okay this is also recorded if you have a minus here
and then they they had some overtime that they needed
um the information is stored in tables some of the tables are there without your your special
effort they are predefined so the subject table the stuff that we looked at uh in in the package
number one um there's also a summary table um but the summary table contains rather little um the
globals table and it's also semi-informative um it tells you how many people participate and so on
and there are more dynamic tables that you may want to use so our contracts table is very
interesting if you're interested in for instance uh in asset markets um the the disadvantages that
all these tables that i just mentioned so far they live for one period except for the summary table
um and so this is not a way to bypass this this problem with shifting information from one period
to the other uh for that you need that do you have to create your own table or you need certain tricks
to do that um but for the beginning experiments you need this stuff anyhow not and you don't need
that anyhow but the contracts table is for instance something that allows you a bit more
uh dynamic this creates like something like a table inside a table uh technically speaking
in other words if you have uh with one within one period a bunch of uh of trades on a on the
double auction that is technically speaking um uh an asset market that you have to do with uh
with contracts table the overarchitecting thing is the session table but i never work with the
session table so far um yeah the the general structure is that you first define the background
there you set the general parameters you assign information there to certain tables so
subjects do so right in the subject table uh this information and subjects will use that
but you can also use something that is stored on the the globals table uh we had both of them
yesterday in the globals table we had uh no sorry not this day there's one thing uh in this
in the package three in the package three we had this nice stuff that um we had this lottery and
this lottery was defined all the the values of the lottery they were defined in the globals value so
there was a globals do and uh then we defined that that you can switch um in the program it
says there's there's a little pull down menu saying okay do we want to have subjects do or
globals do and so on and so we defined basically the preamble of the experiment
before that if you want to but this is not for beginners if you want to set up your own table
then you have to put this here so you have to add a table so there's also this option of adding a
table and then you work yourself through a bunch of um active screens and waiting screens
apart from the stuff that you find in the back defined in the background and that is the header
of the active screen and the waiting screen as i said it's not a big deal if you don't want to
have that you cut this out you cannot cut out by the way the the waiting screen but you can
adjust the text if you want to but the header you can you can delete here
or you can adjust that so that this means that you go to the particular waiting screen
of a certain stage and then you add uh the the text for that waiting screen in that stage
you activate the background the general parameters that is this stuff that we did before
and you have to specify the number of subjects the number of groups
the number of practicing periods and the number of paying periods and practicing periods by the
way is something that is not just this is rather smart move so it's it's it's a period like all
the other periods yeah it comes before the other the the paying periods but it does not add to your
profit so this is useful if you have a complicated game but it allows interaction before the paid
interaction so if you do for instance a uh a dictator game before with practice um better
think twice because this also contains some information maybe and pay people switch role
in your experiment and then they reciprocate with even this without being paid so be careful
with practice rounds but they they can be useful here this you have to um you have to specify
and you may want to specify the exchange rate it's uh it was developed in zirik so it has swiss francs
for one experimental currency unit also the show up fee which is a lot in switzerland if you do
experiments in switzerland it's damn expensive you may want to give them also a lump sum payment
if they if they don't if you don't want them to run into bankruptcy because of this bankruptcy
alert that you have you may want to give them i don't know 100 token or 100 eq in advance
that you may want to specify here if you want to use the payoff file afterwards because the
payoff file relies on that information or converts the points the the total profits
by the exchange rate that is provided here um if you if you want to extract that by hand from the
from the total profit in the last round from the subject table and then do your own calculation
while the subjects are sitting there you can do that also so it's not a it's not a mandatory thing
here yeah this is this is the um these are the the tables that are created automatically
um you can you can double click on them and then you can specify their lifespan
and when they are uh when when programs are executed meaning that they they overwrite
something in the for instance in the subject table if they enter information
uh the the subjects table is uh for a lifetime of period whereas the summary tables for the
entire treatment meaning this this one game that they play um if you want to but not maybe not at
the as a beginner or if you if you have talked to some people who have done experiments before
some people have done experiments before then you may create new tables
and specify their lifespan and play around with them i'm not sure whether this is a good starting
point for experiments um the header i mentioned before it specifies this upper five percent of
your experiment here again it's in german so this is period one out of two maybe you want
to play games without with an unknown time horizon then you have to avoid out of two
maybe you want don't want to put time pressure on them and at the end of the day this is also a
cheap toy if they don't enter information here you have to wait and then maybe you ask them
after five minutes what's going wrong once i found a person sleeping in in one of the
cubicles it's not not so good for your experiment but this is just cheap talk
unless you don't provide information and just specify that the particular screen can be left
without input um yeah you can define where this header board book is located you can say this
without frame with frame the size the distance to the margins you can specify all that stuff we
had that you can also put a header box here if you say okay this is the width is then 10
percent and the distance to the margin here is zero and then adjustment to the box here
um z3 is not that super programming programmer friendly when it comes to the adjustment of boxes
and so on that takes a lot of effort if you have several boxes such that they do not overlap and
that they look nice and so on so we're i'm typically i'm playing around with these options
and then that and then i end up screaming at the um at the computer and then finally it works
that's a lot of work and it's not easy there's no no good testing environment for that you always
have to run the entire program and then see how the boxes are are organized
oh yeah then we have this waiting screen that you may want to specify and maybe not
and um i think i stop here uh to not to get that much also fine