Asked by Simon
on 30 May 2013

Hi, i'm trying to delete coefficients if they fail the t-test and if the Rsquared is 0,5. The only problem is that i don't know how!! I'm using LinearModel.fit because i need to keep an eye on the coefficient names (im using datasets). Thank you in advance!

*No products are associated with this question.*

Answer by Tom Lane
on 30 May 2013

Accepted answer

I don't really understand the question, but to the part where you express a desire to retain the variable names when you save the coefficients, you could try this:

Fstat{i} = REG.Coefficients(:,'tStat')

The difference is that ds.x fetches the variable x from the dataset ds, whereas ds(:,'x') creates a single-column dataset using only the column for x.

Opportunities for recent engineering grads.

## 3 Comments

## José-Luis (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/77480#comment_151873

What have you tried so far? What problems have you encountered in your implementation?

## Simon (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/77480#comment_151882

The problem so far is that I looped a LinearModel function using .coefficient only (from a dataset)so that i can track the coefficient names after i put the constraints. I'm trying to remove an answer if Rsquared if lower than 0,5 and if tstats are -1,96 < 0 < 1,96. It seems easy using the regress function but using LinearModel it seems like a pain. Everytime i try to remove an object in .Coefficients it says that it<s a read only mode...

## Simon (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/77480#comment_151886

If i try to create a variable Fstat{i} = REG.Coefficients.tStat i will loose the Var names. With 4-5 var it isn<t much of a problem but with 50+ I won<t be able to understand the answer.