cancel
Showing results for
Show  only  | Search instead for
Did you mean:
New to using JMP? Hit the ground running with the Early User Edition of Discovery Summit. Register now, free of charge.
Register for our Discovery Summit 2024 conference, Oct. 21-24, where you’ll learn, connect, and be inspired.
Choose Language Hide Translation Bar
Level III

## Moving Average

I have a table called drugs with columns drug and result, how do I calculate the moving average of the result column by taking the first 4 rows followed by the next 4 rows and similarly continue. Pfa the sample table for reference.

1 ACCEPTED SOLUTION

Accepted Solutions
Super User

## Re: Moving Average

The formula to use is

``````If( Mod( Row(), 4 ) == 0,
Mean( :Result[Index( Row() - 3, Row() )] )
)``````

I have attached your example data table, with a new column with the formula in it

Jim
11 REPLIES 11
Level IV

## Re: Moving Average

hello ,

you can try with Formula column --> row --> moving average

Gianpaolo Polsinelli
Level III

## Re: Moving Average

Could you please explain the next step after this, I want to calculate the average of 4 consecutive samples
Super User

## Re: Moving Average

Do you have 4 columns of results, or 4 times as many rows as you show in your sample data table?
Jim
Level III

## Re: Moving Average

I want to generate the moving average column as shown in the attached table, for every 4 rows I need to calculate the average

Super User

## Re: Moving Average

The formula to use is

``````If( Mod( Row(), 4 ) == 0,
Mean( :Result[Index( Row() - 3, Row() )] )
)``````

I have attached your example data table, with a new column with the formula in it

Jim
Level III

## Re: Moving Average

Thanks this worked
Staff

## Re: Moving Average

I think this will give you the moving average that you want (4 rows before and 4 rows after).

Level III

## Re: Moving Average

this did not work
Super User

## Re: Moving Average

Create a new column in your data table, and apply the folloing formula

``Col Moving Average( :Result, weighting = 1, before = 3, :Drug )``
Jim