В обоих методах survfit
функция получает два параметра: fit
и newdata
.
В методе 1 строка newdata[1,3] <- 0
изменяет только объект newdata
, а объект dat
и, следовательно, объект fit
не изменяются.
В методе 2 вместо dat[1,3] <- 0
изменяется и объект newdata
, и объект fit
.
Таким образом, объекты newdata
, полученные функцией survfit
, идентичны в обоих методах, как правильно указали 42, но объекты fit
не являются.
Если в начале вы создадите 3 одинаковых кадра данных, вы увидите это.
dat1 <- data.frame(y,del,z)
dat2 <- data.frame(y,del,z)
dat3 <- data.frame(y,del,z)
## fit cox model
fit <- coxph(Surv(y,del)~z,ties="breslow",data=dat1)
## method 1
newdata <- dat2[1,]
newdata[1,3] <- 0
out <- survfit(fit,newdata=newdata)
out$surv
##[1] 0.9557533 0.9048870 0.8545721 0.7599743 0.6397022 0.4218647 0.4218647
## method 2, same as method 1
dat3[1,3] <- 0
out <- survfit(fit,newdata=dat3[1,])
out$surv
##[1] 0.9557533 0.9048870 0.8545721 0.7599743 0.6397022 0.4218647 0.4218647