require(rstarating);require(relvm); require(rclus); require(cmsdata);require(dplyr)

#
cms_star_hospital_overall_rating2016oct <- read_csv(file.path(
    "T:/Clinical Excellence/Analytics/Data Sources/cmsData/2016/20161110/Hospital_Revised_FlatFiles_20161110",
    "Hospital General Information.csv"
)) %>% 
    select(ccnid, hospital_overall_rating)

Method 1: rclus

# Non-adaptive LVM   
# This is used by cms for Oct. 2016.   
# It will take about 30 min or longer depending on your computer. 
#
fit_noad <- relvm_noad(mstbl(cms_star_rating_input_2016oct))

# Rating
sr_noad  <- rating(x=fit_noad$groups$summary_score,method="rclus",score_col="sum_score_win",iter.max=1)

# Compare to cms
sr_noad_star <- merge(x = sr_noad$star, y = cms_star_hospital_overall_rating2016oct, by = "ccnid",all.x=T)
with(sr_noad_star, table(star,hospital_overall_rating))

Method 2: rclus2

# The true lvm model. 
# use the data from Dec. 2017
fit_true <- relvm(mstbl(cms_star_rating_input_2017dec))

# rating 
sr_true  <- rating(x=fit17$groups$summary_score,method="rclus2",score_col="sum_score",iter.max=5000)


huangrh/rclus documentation built on May 24, 2019, 4:05 a.m.