当前,我已生成变量pscore <- reg1$fit
,并使用以下代码创建了重叠的直方图:
hist(pscore[data$smoke==1],breaks=40,col=col.alpha("red",.5),freq=FALSE,
xlim=c(-0.025,0.529),ylim=c(0,10),xlab="Propensity Score",ylab="",main="")
hist(pscore[data$smoke==0],breaks=20,col=col.alpha("blue",.5),freq=FALSE,
ylim=c(0,9),add=TRUE)
请注意,变量smoke
是二进制
我现在正在尝试创建另一个直方图,但是pscore在0和1之间
pscore2 <- reg1$fit>=0 & reg1$fit <=1
R会读取它,但是当使用新的pscore运行直方图代码时,会导致错误。
Error in hist.default(pscore2[data$smoke == 1], breaks = 20, col = col.alpha("blue", :
'x' must be numeric
Error in hist.default(pscore2[data$smoke == 0], breaks = 20, col = col.alpha("blue", :
'x' must be numeric
所以不确定是否可以用其他方法创建一个新的pscore,其值只有0到1之间。
答案 0 :(得分:0)
您应该这样做:
pscore2 <- reg1$fit[reg1$fit >=0 & reg1$fit <=1]
希望有帮助。