我正在尝试运行plm
以查看积极,消极和中立的类别对股票价格的影响。
DATE <- c("1","2","3","4","5","6","7","1","2","3","4","5","6","7")
COMP <- c("A", "A", "A", "A", "A", "A", "A", "B", "B", "B", "B", "B", "B", "B")
RET <- c(-2.0,1.1,3,1.4,-0.2, 0.6, 0.1, -0.21, -1.2, 0.9, 0.3, -0.1,0.3,-0.12)
CLASS <- c("positive", "negative", "neutral", "positive", "positive", "negative", "neutral", "positive", "negative", "negative", "positive", "neutral", "neutral", "neutral")
df <- data.frame(DATE, COMP, RET, CLASS, stringsAsFactors=F)
df
# DATE COMP RET CLASS
# 1 1 A -2.00 positive
# 2 2 A 1.10 negative
# 3 3 A 3.00 neutral
# 4 4 A 1.40 positive
# 5 5 A -0.20 positive
# 6 6 A 0.60 negative
# 7 7 A 0.10 neutral
# 8 1 B -0.21 positive
# 9 2 B -1.20 negative
# 10 3 B 0.90 negative
# 11 4 B 0.30 positive
# 12 5 B -0.10 neutral
# 13 6 B 0.30 neutral
# 14 7 B -0.12 neutral
如果我运行模型,输出只显示两个估计值(中性和正值)。我怎么能看到班级负面的估计?我认为这与傻瓜有关。但是,对于否定阶级,至少应该至少有一条“拦截”线?
mymodel <- plm(RET ~ CLASS, data=df,
index = c("DATE", "COMP"),
model="within",
effect="time")
summary(mymodel)
# Oneway (time) effect Within Model
# Call:
# plm(formula = RET ~ CLASS, data = df, effect = "time", model = "within",
# index = c("DATE", "COMP"))
# Balanced Panel: n=7, T=2, N=14
# Residuals :
# Min. 1st Qu. Median 3rd Qu. Max.
# -2.1500 -0.4620 -0.0791 0.7540 1.9300
# Coefficients :
# Estimate Std. Error t-value Pr(>|t|)
# CLASSneutral 0.35818 0.81581 0.4390 0.670
# CLASSpositive -0.56418 0.81581 -0.6916 0.505
# Total Sum of Squares: 16.79
# Residual Sum of Squares: 14.694
# R-Squared : 0.12486
# Adj. R-Squared : 0.089183
# F-statistic: 0.713347 on 2 and 10 DF, p-value: 0.5133
谢谢!
答案 0 :(得分:1)
与大多数具有分类协变量的模型一样,第一级用作参考水平。在这种情况下,&#34;否定&#34; category被用作参考类别,因为默认情况下,R按字母顺序排序因子的级别。当您拥有分类数据时,您无法梳理出特定于人的平均值和参考类别的均值。它们被组合成截距项。那么CLASSneutral
的系数不是neutral
类的效果,它是neutral
和negative
的效果之间的差异。 CLASSpositive
也是如此 - positive
和negative
的效果之间存在差异。因为模型默认使用单独的效果,每个人都有自己的拦截,我假设他们没有在摘要上打印它。
这不是plm
独有的。使用标准lm
也会发生同样的事情。