Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# RE: st: age: factor variables may not contain noninteger values

 From "Jesper Lindhardsen" To Subject RE: st: age: factor variables may not contain noninteger values Date Tue, 8 Nov 2011 13:17:00 +0100

```Hi Lars,

Try

g new_age= round(age_var,1)

HTH,

Jesper

-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Lars
Sent: 08 November 2011 12:14
To: statalist@hsphsun2.harvard.edu
Subject: Re: st: age: factor variables may not contain noninteger values

This helps a lot.
Thank you.

But i have a question about the second point.
Is there a quick and easy way to round the age to the nearest integer
value? I could use the floor / ceil functions, but some of the ages
Should be rounded up and some should be rounded down.

lars

Den 08/11/11 11.40 skrev "Maarten Buis" <maartenlbuis@gmail.com>:

>On Tue, Nov 8, 2011 at 11:13 AM, Lars Folkestad wrote:
>> I am trying to investigate the interactions between age and a
grouping
>>variable in a regression model, using this code:
>>
>> xi: regress Var1 age##i.group
>>
>> Var1: is a continuous variable
>> Age: is a continous variable / float
>>
>> When i run the code i get the following error message:
>> age:  factor variables may not contain noninteger values
>
>First, you are mixing -xi- and factor variable notation. You should
>just leave the -xi:- prefix away.
>
>Second, in most surveys I am aware of age will be measured in whole
>years. In those cases age should only contain integer values and this
>error message means I made an error while preparing the data. This is
>true regardless of how the data is stored. However, this is not
>necessarily an error, you could have fractional age if you had for
>instance exact birth dates and exact dates at which events of interest
>happen. Alternatively, I may have standardized age or rescaled it so
>it is measured in decades rather than years. However, in the latter
>two cases I would have created new with different variable names
>(probably z_age and age_d). So I would check whether non-integer age
>would make sense given the way your data was collected.
>
>Third, whether there is an error or not you probably want -regress
>var1 c.age##i.group- i.e. tread age as a continuous variable and not
>as a set of dummies.
>
>Hope this helps,
>Maarten
>
>--------------------------
>Maarten L. Buis
>Institut fuer Soziologie
>Universitaet Tuebingen
>Wilhelmstrasse 36
>72074 Tuebingen
>Germany
>
>
>http://www.maartenbuis.nl
>--------------------------
>
>*
>*   For searches and help try:
>*   http://www.stata.com/help.cgi?search
>*   http://www.stata.com/support/statalist/faq
>*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```