I've noticed a slight difference between survfit when I use a survival object of type "interval2". I first noticed that the number at risk on the interval2 fit was not an integer. I've stepped through survfit.formula and surviftKM but I'm still not clear as to exactly what's happening and why. Would anyone explain the difference to me? When debugging it appears survfitKM is using some .05 weights (casewt variable), but I'm not setting that explicitly.
MRE:
library('survival')
surv_obj <- with(lung, Surv(time = time, event = status == 1))
left <- lung$time
right <- ifelse(lung$status == 1, lung$time, NA)
surv_obj_int <- Surv(time = left, time2 = right, type = 'interval2')
surv_fit <- survfit(surv_obj~1, type = 'kaplan-meier')
surv_fit_int <- survfit(surv_obj_int~1, type = 'kaplan-meier')