生成删除值小于0且大于1的新变量

时间:2018-12-09 01:00:44

标签: r

当前,我已生成变量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之间。

1 个答案:

答案 0 :(得分:0)

您应该这样做:

pscore2 <- reg1$fit[reg1$fit >=0 & reg1$fit <=1]

希望有帮助。