An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110408/c5ece6d9/attachment.pl>
Effects - plot the marginal effect
3 messages · Tomii, David Winsemius, John Fox
On Apr 8, 2011, at 4:24 AM, Tomii wrote:
Thank you for your response, but these changes doesn't seem to change anything, outcomes of effect command is still the same - error. Tomas On Fri, Apr 1, 2011 at 5:03 AM, John Fox <jfox at mcmaster.ca> wrote:
Dear Tomas, Write the model as mreg01 = lm(enep1 ~ enpres * proximity1), data=a90)
A syntactic comment only. Perhaps: mreg01 = lm(enep1 ~ enpres * proximity1, data=a90) -- David
That is, it's not necessary to index a90 as a list since it's given as the data argument to lm, and doing so confuses the effect() function. Also, enpres*proximity1 will include both the enpres:proximity1 interaction and enpres + proximity1, which are marginal to the interaction. Next, you must quote the name of the term for which you want to compute effects, thus "enpres:proximity1" in the call to effect(). Finally, effect() doesn't compute what are usually termed marginal effects. If you want more information about what it does, see the references given in ?effect. I hope this helps, John ------------------------------------------------ John Fox Sen. William McMaster Prof. of Social Statistics Department of Sociology McMaster University Hamilton, Ontario, Canada http://socserv.mcmaster.ca/jfox/ On Thu, 31 Mar 2011 22:09:32 +0200 Tomii <diogenas at gmail.com> wrote:
Hello, I try to plot the marginal effect by using package "effects" (example of
the
graph i want to get is in the attached picture). All variables are continuous. Here is regression function, results and error effect function gives:
mreg01 = lm(a90$enep1 ~ a90$enpres + a90$proximity1 + (a90$enpres *
a90$proximity1), data=a90)> summary(mreg01)
Call:
lm(formula = a90$enep1 ~ a90$enpres + a90$proximity1 + (a90$enpres *
a90$proximity1), data = a90)
Residuals:
Min 1Q Median 3Q Max
-2.3173 -1.3349 -0.5713 0.8938 8.1084
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.2273 0.3090 13.683 < 2e-16 ***
a90$enpres 0.4225 0.2319 1.822 0.072250 .
a90$proximity1 -3.8797 1.0984 -3.532 0.000696 ***
a90$enpres:a90$proximity1 0.8953 0.4101 2.183 0.032025 *
---
Signif. codes: 0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1
Residual standard error: 2.029 on 78 degrees of freedom
Multiple R-squared: 0.2128, Adjusted R-squared: 0.1826
F-statistic: 7.031 on 3 and 78 DF, p-value: 0.0003029
plot(effect(a90$enpres:a90$proximity1, mreg01))Warning messages: 1: In
a90$enpres:a90$proximity1 :
numerical expression has 82 elements: only the first used2: In a90$enpres:a90$proximity1 : numerical expression has 82 elements: only the first used3: In analyze.model(term, mod, xlevels, default.levels) : 0 does not appear in the modelError in plot(effect(a90$enpres:a90$proximity1, mreg01)) : error in evaluating the argument 'x' in selecting a method for function
'plot'
Thanks in advance. Tomas
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD West Hartford, CT
Dear Tomas, On Fri, 8 Apr 2011 10:24:45 +0200
Tomii <diogenas at gmail.com> wrote:
Thank you for your response, but these changes doesn't seem to change anything, outcomes of effect command is still the same - error.
It's not really possible to help you with so little information; if you send a reproducible example, I can try to figure out what's wrong. This time you didn't even send the command you tried to execute and the error message that it produced. (David Winsemius has already corrected a typo in my previous message.) Best, John
Tomas On Fri, Apr 1, 2011 at 5:03 AM, John Fox <jfox at mcmaster.ca> wrote:
Dear Tomas, Write the model as mreg01 = lm(enep1 ~ enpres * proximity1), data=a90) That is, it's not necessary to index a90 as a list since it's given as the data argument to lm, and doing so confuses the effect() function. Also, enpres*proximity1 will include both the enpres:proximity1 interaction and enpres + proximity1, which are marginal to the interaction. Next, you must quote the name of the term for which you want to compute effects, thus "enpres:proximity1" in the call to effect(). Finally, effect() doesn't compute what are usually termed marginal effects. If you want more information about what it does, see the references given in ?effect. I hope this helps, John ------------------------------------------------ John Fox Sen. William McMaster Prof. of Social Statistics Department of Sociology McMaster University Hamilton, Ontario, Canada http://socserv.mcmaster.ca/jfox/ On Thu, 31 Mar 2011 22:09:32 +0200 Tomii <diogenas at gmail.com> wrote:
Hello, I try to plot the marginal effect by using package "effects" (example of
the
graph i want to get is in the attached picture). All variables are continuous. Here is regression function, results and error effect function gives:
mreg01 = lm(a90$enep1 ~ a90$enpres + a90$proximity1 + (a90$enpres *
a90$proximity1), data=a90)> summary(mreg01)
Call:
lm(formula = a90$enep1 ~ a90$enpres + a90$proximity1 + (a90$enpres *
a90$proximity1), data = a90)
Residuals:
Min 1Q Median 3Q Max
-2.3173 -1.3349 -0.5713 0.8938 8.1084
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.2273 0.3090 13.683 < 2e-16 ***
a90$enpres 0.4225 0.2319 1.822 0.072250 .
a90$proximity1 -3.8797 1.0984 -3.532 0.000696 ***
a90$enpres:a90$proximity1 0.8953 0.4101 2.183 0.032025 *
---
Signif. codes: 0 ???***??? 0.001 ???**??? 0.01 ???*??? 0.05 ???.??? 0.1 ??? ??? 1
Residual standard error: 2.029 on 78 degrees of freedom
Multiple R-squared: 0.2128, Adjusted R-squared: 0.1826
F-statistic: 7.031 on 3 and 78 DF, p-value: 0.0003029
plot(effect(a90$enpres:a90$proximity1, mreg01))Warning messages:1: In
a90$enpres:a90$proximity1 :
numerical expression has 82 elements: only the first used2: In a90$enpres:a90$proximity1 : numerical expression has 82 elements: only the first used3: In analyze.model(term, mod, xlevels, default.levels) : 0 does not appear in the modelError in plot(effect(a90$enpres:a90$proximity1, mreg01)) : error in evaluating the argument 'x' in selecting a method for function
'plot'
Thanks in advance. Tomas
[[alternative HTML version deleted]]
------------------------------------------------ John Fox Sen. William McMaster Prof. of Social Statistics Department of Sociology McMaster University Hamilton, Ontario, Canada http://socserv.mcmaster.ca/jfox/