It works a little bit like regression to find

*factors*. Factors are new measures that summarise your data. Imagine your questionnaire asks one particular question five times in different ways. You'd expect people to give much he same answer each time. In other words, the scores from the five questions would be highly inter-correlated. If somebody responds in a particular way to one of the questions, we know that they will respond the same way to the others. Therefore, rather than present the same information five times, it'd be better to summarise it. You would do this with a factor. For example, if the questions were 'do you like cats?', 'are cats nice?', 'do you hate cats?' and so on, you could reduce the five scores that each person gives to one factor, which we might call 'cat attitude'.

Once you have identified your factors, you can describe the extent to which each question belongs to that factor. This is expressed with a loading. A factor loading is simply a correlation coefficient, which tells us the extent to which a question is measuring that factor. So in the above example, we would expect 'do you like cats?' to have a high positive loading on the 'cat attitude' factor. We would expect 'do you hate cats?' to have a high negative loading. A question such as 'do you like beer?' should have a loading of close to zero, as this is irrelevant to cat attitudes. Similarly, the questions about whether you like cats would have a loading of close to zero if we were considering a different factor, such as 'drink preferences'.

When you do an analysis, you have to decide how many factors your data contain. There are two criteria - Eigenvalue One (aka Kaiser's criterion) or the Scree Plot. In the end your choice of how many factors to extract from your data will involve judgement, as will naming your factors.

It is done with

**Analyse > data reduction > factor**...

Don't forget to request a scree plot and to set the rotation to 'varimax'. If you want to produce factor scores select the 'save as variables' option and leave the method on 'regression'.