diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..c5da1d3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +*.pdf binary +*.png binary +*.xlsx binary diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..b0f812f --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,25 @@ +## Summary + +Describe the tutorial change and why it is needed. + +## Affected content + +- [ ] Package overview or setup +- [ ] Module 1: `Stat` +- [ ] Module 2: `Train_Model` +- [ ] Module 3: `Subtyping` +- [ ] Module 4: `PrognosiX` +- [ ] Data, figures, or GitHub workflow + +## Validation + +- [ ] `quarto inspect` succeeds +- [ ] `quarto render` succeeds, or the reason it was not run is documented +- [ ] Important figures appear below their generating chunks +- [ ] New or changed figures have captions or alternative text +- [ ] No generated HTML, caches, or temporary analysis output is committed +- [ ] Numerical or scientific changes are described below + +## Scientific output changes + +List any changed results, figures, dependencies, or interpretation. Write “None” when the change affects prose only. diff --git a/.github/workflows/quarto-pages.yml b/.github/workflows/quarto-pages.yml new file mode 100644 index 0000000..2d29959 --- /dev/null +++ b/.github/workflows/quarto-pages.yml @@ -0,0 +1,164 @@ +name: Render and deploy the Quarto book + +on: + push: + branches: [docs] + pull_request: + branches: [docs] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Check out the book source + uses: actions/checkout@v5 + + - name: Check out the icare package source + uses: actions/checkout@v5 + with: + repository: YuLab-SMU/icare + ref: main + path: .ci/icare + + - name: Check out the archived DMwR source + uses: actions/checkout@v5 + with: + repository: cran/DMwR + path: .ci/DMwR + + - name: Set up R + uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + + - name: Set up Quarto + uses: quarto-dev/quarto-actions/setup@v2 + + - name: Install icare and its workflow dependencies + shell: Rscript {0} + env: + GITHUB_PAT: ${{ github.token }} + run: | + install.packages(c( + "remotes", + "BiocManager", + + # Classification / caret backends + "caret", + "caretEnsemble", + "randomForest", + "glmnet", + "gbm", + "rpart", + "klaR", + "C50", + "ranger", + + # icare Suggests available from CRAN + "Boruta", + "DALEX", + "DT", + "Hmisc", + "NMF", + "NbClust", + "RANN", + "ROSE", + "Rtsne", + "UpSetR", + "autoReg", + "bbotk", + "bslib", + "c060", + "dcurves", + "digest", + "e1071", + "factoextra", + "flextable", + "forestploter", + "ipred", + "jsonlite", + "magrittr", + "maxstat", + "mclust", + "mice", + "mlbench", + "mlr3", + "mlr3learners", + "mlr3mbo", + "mlr3pipelines", + "mlr3tuning", + "mlr3viz", + "nnls", + "nricens", + "officer", + "paradox", + "plotly", + "rBayesianOptimization", + "randomForestSRC", + "risksetROC", + "rms", + "shapviz", + "shiny", + "shinydashboard", + "survex", + "survminer", + "testthat", + "themis", + "tidyverse", + "timeROC", + "umap" + )) + + remotes::install_github( + c( + "mlr-org/mlr3extralearners", + "mlr-org/mlr3proba", + "mlr-org/mlr3tuningspaces" + ), + upgrade = "never", + dependencies = TRUE + ) + + BiocManager::install(c("ComplexHeatmap","survcomp","Biobase"), ask = FALSE, update = FALSE) + + remotes::install_local( + ".ci/DMwR", + dependencies = TRUE, + upgrade = "never" + ) + remotes::install_local( + ".ci/icare", + dependencies = TRUE, + upgrade = "never" + ) + + - name: Render the book + run: quarto render + + - name: Upload the Pages artifact + if: github.event_name != 'pull_request' + uses: actions/upload-pages-artifact@v3 + with: + path: _book + + deploy: + if: github.event_name != 'pull_request' + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 1d598f4..95586b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,19 @@ -.trae -PrognosiX -local-test/ -StatObject/ +.DS_Store +.Rhistory +.RData +.Rproj.user/ +.quarto/ +.ci/ +_book/ +_freeze/ +*_cache/ +*_files/ +*.knit.md +*.utf8.md + +# Objects and chapter output generated during execution +*.rds +Figures/ +Module*_Output/ +PrognosiX*_Output/ +NRIDI_Manual_Results/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..3d0cb21 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,34 @@ +# Contributing to the icare tutorial + +Changes to this book are reviewed through GitHub pull requests targeting the `docs` branch. + +## Before opening a pull request + +- Keep prose and code in English. +- Use small R chunks with a unique `#| label:` and place an explanation immediately before the chunk. +- Let important plots display directly below the chunk that creates them. +- Do not commit `_book/`, Quarto caches, frozen execution output, temporary R objects, or analysis output directories. +- Preserve a strict development/validation boundary in modeling examples. +- Do not change a package function name or claimed capability without checking the current `main` branch of `YuLab-SMU/icare`. +- Add new static manuscript figures under the matching `image/module*/` directory and prefer vector PDF output. +- Use informative alternative text or a clear figure caption for every reader-facing figure. + +## Validation + +Run the structural check: + +```bash +quarto inspect +``` + +When the required R packages and data are available, run a full render: + +```bash +quarto render +``` + +Review the GitHub Actions result before merging. A pull request should explain the affected chapter, any changed output, new dependencies, and whether numerical results or figures were regenerated. + +## Scope + +Tutorial-only changes belong in this branch. Changes to the R package, exported API, package documentation, or bundled R data should be proposed against the package's `main` branch instead. diff --git a/ICARE Guide.Rproj b/ICARE Guide.Rproj deleted file mode 100644 index 8e3c2eb..0000000 --- a/ICARE Guide.Rproj +++ /dev/null @@ -1,13 +0,0 @@ -Version: 1.0 - -RestoreWorkspace: Default -SaveWorkspace: Default -AlwaysSaveHistory: Default - -EnableCodeIndexing: Yes -UseSpacesForTab: Yes -NumSpacesForTab: 2 -Encoding: UTF-8 - -RnwWeave: Sweave -LaTeX: pdfLaTeX diff --git a/Module1.qmd b/Module1.qmd deleted file mode 100644 index 1b26257..0000000 --- a/Module1.qmd +++ /dev/null @@ -1,285 +0,0 @@ -# Module 1 - -```{r} -dir.create("./iris_test") -``` - -```{r} -# 0. ---------- Package Installation (run once) ---------- -required <- c("ggplot2","dplyr","tidyr","wesanderson","ggprism", - "mice","caret","e1071","pROC","ggpubr","reshape2", - "nortest","flextable","officer","autoReg", - "RColorBrewer","pheatmap","ggrepel","ggalluvial", - "timeROC","rms","survival","survminer","patchwork","ComplexHeatmap","ggridges") -new_pkgs <- setdiff(required, installed.packages()[,"Package"]) -if(length(new_pkgs)) install.packages(new_pkgs) -``` - -```{r} -# 1. ---------- Load Libraries ---------- -library(ggplot2) -library(dplyr) -library(tidyr) -library(wesanderson) -library(ggprism) -library(mice) -library(caret) -library(e1071) -library(pROC) -library(ggpubr) -library(reshape2) -library(nortest) -library(flextable) -library(officer) -library(autoReg) -library(RColorBrewer) -library(pheatmap) -library(ggrepel) -library(ggalluvial) -library(timeROC) -library(rms) -library(survival) -library(survminer) -library(patchwork) -library(readxl) -library(circlize) -library(ComplexHeatmap) -library(ggridges) -``` - -```{r} -# 2. ---------- Source All Module Files ---------- -# (Assuming all .R files are in the working directory) -source("./R/output_config.R") # now defines get_output_dir() globally -source("./R/utils_internal.R") # internal helpers -source("./R/stat_01_object.R") # Stat class and CreateStatObject -source("./R/utils_convert_types.R") # updated convert_variables & one_hot_encode -source("./R/stat_02_missing.R") -source("./R/stat_03_remove_missing.R") -source("./R/stat_04_descriptive.R") -source("./R/stat_05_handle_missing.R") -source("./R/stat_06_deg.R") -source("./R/stat_07_outlier.R") -source("./R/stat_08_normalize.R") -source("./R/stat_09_apply_new.R") -source("./R/viz_functions.R") -``` - -```{r} -# 3. ---------- Load Data ---------- -raw_data=as.data.frame(iris) -cat("Original data:", nrow(raw_data), "rows,", ncol(raw_data), "columns\n") -str(raw_data) -``` - -```{r} -#该包目前支持两个分组,因此将一个组作为主要组,另外两组合并为次要组 -raw_data$Species <- as.character(raw_data$Species) -raw_data$Species[raw_data$Species %in% c("versicolor", "setosa")] <- "Others" -raw_data$Species <- factor(raw_data$Species) -``` - -```{r} -# 4. ---------- Create Stat Object ---------- -stat_obj <- CreateStatObject( - raw.data = raw_data, - group_col = "Species", - na.action = "allow" -) -cat("Stat object created.\n") -``` - -```{r} -#5. ---------- Pre‑cleaning Exploratory Analysis ---------- -## 5.1 Missing data visualization -stat_obj <- state_plot_missing_data(stat_obj, save_plots = T, save_data = T,save_dir = "./iris_test/") - -## 5.2 Variable type diagnosis -stat_obj <- stat_diagnose_variable_type(stat_obj, max_unique_values = 5) -cat("Variable types:\n"); print(stat_obj@variable.types) - -## 5.3 Descriptive statistics (before cleaning) -stat_obj <- stat_compute_descriptive(stat_obj, count_feature = TRUE) - -``` - -```{r} -# 6. ---------- Data Cleaning ---------- -## 6.1 Convert variable types (numeric/factor) -stat_obj <- stat_convert_variables(stat_obj, save_data = FALSE) - -## 6.2 Impute missing values (median/mode) -stat_obj <- stat_miss_processed(stat_obj, impute_method = "mice", - return_imputation_info = TRUE, save_data = FALSE) - -## 7.3 Detect outliers (IQR) -stat_obj <- stat_detect_and_mark_outliers(stat_obj, method = "iqr", - threshold = 1.5, save_data = FALSE) - -## 7.4 Handle outliers (impute with median) -stat_obj <- stat_handle_outliers(stat_obj, method = "impute", - impute_value = "median", save_data = FALSE) - -## 7.5 One‑hot encode categorical variables (>2 levels) -stat_obj <- stat_onehot_encode(stat_obj, save_data = FALSE) - -## 7.6 Normalize numeric features (auto method) -stat_obj <- stat_normalize_process(stat_obj, method = "auto", save_data = FALSE,group_col = 'Species') - -cat("Cleaning completed. Clean data dimensions:", - nrow(stat_obj@clean.data), "x", ncol(stat_obj@clean.data), "\n") - -``` - -```{r} -# 8. ---------- Post‑cleaning Visualizations (New viz_functions) ---------- -cat("\n--- Post‑cleaning publication‑quality visualizations ---\n") - -## 8.1 Grouped box‑violin plot for top numeric variables - -stat_obj@group_col -PlotGroupedDistribution( - object = stat_obj, - features = head(names(stat_obj@clean.data)[sapply(stat_obj@clean.data, is.numeric)], 6), - group_col = "group", - test = "wilcox.test", - palette_name = "Royal1", - ncol = 3,save_dir = "./iris_test", - save_plot = T -) - -## 8.2 Correlation heatmap -PlotCorrelationHeatmap(stat_obj, - matrix_type = "lower", - order = "hclust", - vis_method = "color", - color_scheme = "gradient") - -PlotCorrelationHeatmap(stat_obj, - order = "hclust", - addrect = 3, - insig = "label_sig", - color_scheme = "gradient", - save_plot = TRUE,save_dir = "./iris_test", - format = "pdf", - width = 8, - height = 7) -## 8.3 PCA scatter plot coloured -stat_obj@info.data$group <- stat_obj@clean.data[rownames(stat_obj@info.data), "Species"] -PlotPCA( - object = stat_obj, - color_by = "group", - pcs = c(1,2), - ellipse = TRUE,save_dir = "./iris_test", - palette_name = "Darjeeling1", - save_plot =T -) - -``` - -```{r} -# 9. ---------- Additional Post‑cleaning Visualizations (original modules) ---------- -## 9.1 Categorical variable bar plots -stat_obj <- plot_categorical_descriptive(stat_obj, save_plots = T,save_dir = "./iris_test") - -## 9.2 Numeric violin plots -stat_obj <- plot_numeric_descriptive(stat_obj, plot_type = "violin", - vars_per_plot = 1, save_plots = T,save_dir = "./iris_test") - -## 9.3 Numeric density ridge plots -library(ggridges) -stat_obj <- plot_numeric_descriptive(stat_obj, plot_type = "ridge", - vars_per_plot = 1, save_plots = T,save_dir = "./iris_test") -## 9.4 Numeric box plots -my_colors <- c("#999999", "#E69F00") -stat_obj <- plot_numeric_descriptive(object = stat_obj, - vars_per_plot = 1,save_plots = T,save_dir = "./iris_test", - plot_type = "box", - palette_name = my_colors) -``` - -```{r} -# 10. ---------- Differential Analysis (Wilcoxon Test) ---------- -stat_obj <- stat_var_feature(stat_obj, p_threshold = 0.05, save_data = T) -deg_result <- ExtractLastTestSig(stat_obj) -if (!is.null(deg_result)) { - cat("\nTop differential features:\n") - print(head(deg_result[, c("id","logFC","p","p.adjust","change")])) -} - -``` - -```{r} -# 11. ---------- Differential Expression Visualizations ---------- -# 11.1 PlotFeatureSelection (from viz_functions.R) -# deg_result 来自之前的差异分析,mat_test 为 clean.data 或原始表达矩阵 -deg_result$feature <- deg_result$id # 确保有 feature 列 -PlotAUCPval( - deg_df = deg_result, - mat_test = stat_obj@clean.data, # 或你的表达矩阵 - group_col = "Species",save_dir = "./iris_test", - auc_thresh = 0.55, - p_thresh = 0.05,save_plot = T -) - - -# 11.2 Feature heatmap of top differential features - markers <- c("Sepal.Length", "Petal.Length") - mat<-stat_obj@clean.data - top_ann <- stat_obj@clean.data[,c('Species')] - library(ComplexHeatmap) - my_ann_colors <- list( - # 离散变量:名称用引号包裹,值类型与数据框一致 - Species = c("Others" = "#f1eef6", "setosa" = "#df65b0") - #GENDER = c("1" = "#e5f5f9", "2" = "#006d2c"), - # 连续变量:colorRamp2 函数 - #AGE = colorRamp2(c(20, 50, 80), c("#ef8a62", "#ffffff", "#999999")) - ) - PlotFeatureHeatmap(stat_obj,ann_colors = my_ann_colors[c("Species")], - clinical_data = top_ann,save_plot = TRUE,save_dir = "./iris_test", - marker_features =markers,show_colnames = F,show_rownames = T, - base_fontsize = 12) -# 11.3 Violin plots for top significant features (original data scale) -stat_obj <- VarFeature_boxplot(stat_obj, top_n = 5, data_type = "scale", save_plot = T, - save_dir = "./iris_test") -# 11.4 ROC curves for the top features -stat_obj <- VarFeature_ROC(stat_obj, data_type = "clean", save_plot = T, - save_dir = "./iris_test") -# 11.5 Radar chart of mean expression changes -stat_obj <- VarFeature_radarchart(stat_obj, save_plot = T, - save_dir = "./iris_test") -PlotDegBoxplot( - deg_results = deg_result, - expr_data = stat_obj@clean.data, - group_col = "Species", - top_n = 6, - save_plot = TRUE, - save_dir = "./iris_test" -) -``` - -```{r} -# 12. ---------- Reporting & Result Export ---------- -## 12.1 Baseline characteristic table (Gaze analysis) -stat_obj <- stat_gaze_analysis(stat_obj, save_word = T,save_dir = "./iris_test") -cat("\nBaseline table generated.\n") -if (!is.null(stat_obj@baseline.table)) print(stat_obj@baseline.table) - -## 12.2 Apply processing pipeline to new data -set.seed(123) -new_data <- raw_data[sample(1:nrow(raw_data), 100), ] -processed_new <- process_new_data(stat_object = stat_obj, new_data = new_data, - save_data = FALSE) -cat("\nNew data processed. Dimensions:", nrow(processed_new), "x", ncol(processed_new), "\n") - -## 12.3 Extract the final cleaned dataset -final_clean <- ExtractCleanData(stat_obj) -cat("\nFinal clean dataset dimensions:", nrow(final_clean), "x", ncol(final_clean), "\n") -# write.csv(final_clean, "bacteremia_clean_final.csv", row.names = FALSE) - -saveRDS(stat_obj,file = "stat_obj.rds") -cat("\n========================================\n") -cat("Analysis pipeline finished successfully!\n") -cat("========================================\n") - -``` diff --git a/Module2.qmd b/Module2.qmd deleted file mode 100644 index 2a6e7ca..0000000 --- a/Module2.qmd +++ /dev/null @@ -1,992 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: inline ---- - -# Module 2 - -```{r} -rm(list = ls()) -# Complete Modeling Pipeline -# Includes: Feature Selection · Algorithm Inspection · Training · Explanation -dir.create("./iris_test/model") -``` - -```{r} -# 0. ---- Package installation & loading ---- -invisible(capture.output({ -pkgs <- c("caret", "ggplot2", "pROC", "wesanderson", "viridis", - "shiny", "bslib", "DT", "plotly", - "DALEX", "iBreakDown", "ingredients", "doParallel", "foreach", - "gbm", "randomForest", "glmnet", "xgboost", "kernlab") # 常用模型包 -new_pkgs <- pkgs[!sapply(pkgs, requireNamespace, quietly = TRUE)] -if (length(new_pkgs)) install.packages(new_pkgs) -invisible(lapply(pkgs, library, character.only = TRUE)) -})) - -``` - -```{r} -# 1. ---- Source all module files ---- -invisible(capture.output({ -source("./R/output_config.R") -source("./R/model_01_object.R") -source("./R/model_02_FeatureSelect.R") -source("./R/model_02_viz_feature_selection.R") -source("./R/model_03_feature_sensitivity.R") -source("./R/model_04_model_benchmark.R") -source("./R/model_05_train.R") -source("./R/model_06_hyperparameter_tuning.R") -source("./R/model_06_ensemble.R") -source("./R/model_07_explain.R") -source("./R/model_08_clinical_analysis.R") -source("./R/model_09_nri_idi.R") -source("./R/model_10_deploy.R") -source("./R/viz_functions.R") -source("./R/object_utils.R") -source("./R/stat_01_object.R") -})) - - -``` - -```{r} -# 2. ---- Load Stat object from Module 1 ---- -stat_obj <- readRDS("stat_obj.rds") -``` - -```{r} -# 3. ---- Convert to Train_Model(clean.df 已自动填充)---- -model_obj <- ConvertObject(stat_obj, to = "Train_Model") -InspectObject(model_obj) -``` - -```{r} -# 4. ---- Algorithm Inspection ---- -all_models <- caret::modelLookup() -# 查看几个常用模型的超参数 -models_of_interest <- c("glm", "rpart", "rf", "gbm", "svmRadial", "xgbTree") -cat("\n--- Hyperparameters for selected models ---\n") -for (m in models_of_interest) { - info <- caret::getModelInfo(m, regex = FALSE)[[1]] - cat("\n", m, ":", paste(info$parameters$parameter, collapse = ", ")) -} - -# 查看哪些模型有内置重要性 -cat("\n--- Built-in varImp support ---\n") -print(check_varImp_availability(models_of_interest)) -``` - -```{r} -# 5. ---- Feature Selection ---- -# 5.1 内置重要性(自动跳过不支持的模型) -print(table(model_obj@clean.df[[model_obj@group_col]])) - -invisible(capture.output({ -model_obj@clean.df[[model_obj@group_col]] <- - factor(model_obj@clean.df[[model_obj@group_col]]) -library(gbm) -builtin <- FeatureSelectBuiltin( - object = model_obj, - models = c("rf", "gbm"), - top_n = 15, - seed = 123 -) -})) - -print(builtin$importance_table) - -invisible(capture.output({ -# 5.2 运行 RFE + GA 流水线(可选) -fs= FeatureSelectionPipeline( - object = model_obj, - methods = c("ga",'rfe','sa'), - combine = "union", - rfe_args = list(method = "cv", number = 2, sizes = c(5, 10, 20)), - sa_args = list( - iters = 2, - method = "cv", - number = 5, - repeats = 1, - improve = 3), - ga_args = list( - ga_func = caret::rfGA, - iters = 2, - popSize = 5, - method = "cv", - number = 5, - allowParallel = TRUE, - genParallel = TRUE), - upset_plot = TRUE, - save_plot = TRUE, - save_dir = "./FeatureSelectionResults/", - seed = 123 -) -})) - - -# 5.3 可视化 -# RFE Profile Plot -PlotRFE( - rfe_result = fs$results$RFE, # 从流水线结果中提取 - metric = "Accuracy", - show_optimal = TRUE, - save_plot = TRUE, - save_dir = "./iris_test/model" -) -library(dplyr) -# RFE Variable Importance -PlotRFEImportance( - rfe_result = fs$results$RFE, - top_n = 20, - save_plot = TRUE, - save_dir = "./iris_test/model" -) - -# GA Evolution Trace -PlotGA( - ga_result = fs$results$GA, - metric = "Accuracy", - save_plot = TRUE, - save_dir = "./iris_test/model" -) - -# GA Feature Selection Frequency Heatmap -PlotGAFrequency( - ga_result = fs$results$GA, - top_n = 30, - save_plot = TRUE, - save_dir ="./iris_test/model" -) - -# Feature Consensus Heatmap (multi‑method overlap) -PlotFeatureConsensus( - multi_result = fs, - show_counts = TRUE, - save_plot = TRUE, - save_dir = "./iris_test/model" -) - -# Feature Stability Barplot -PlotFeatureStability( - multi_result = fs, - top_n = 30, - save_plot = TRUE, - save_dir = "./iris_test/model" -) - -# Method Comparison Composite -PlotFeatureComparison( - multi_result = fs, - metric = "Accuracy", - save_plot = TRUE, - save_dir ="./iris_test/model" -) - -# Built‑in Importance Comparison (independent call) - -PlotBuiltinImportance( - builtin_result = builtin, - save_plot = TRUE, - save_dir = "./iris_test/model" -) -###基于敏感性分析的变量组合筛选 -# 2. 特征消除(只运行一次) -elim <- run_feature_elimination(model_obj, models = c("rf",'gbm'), number = 5, smooth_span = 0.2) -# 3. 尝试 -res_perf <- select_elbow(elim, "perf_tolerance", tol = 0.05) -res_window <- select_elbow(elim, "stability_window", window_size = 40) -# 3. 直接绘制带有 knee 标记的曲线(组合图) -plot_elbow(elim, best_features = res_window$best_features, ci_style = "errorbar", - save_plot = TRUE, - save_dir ="./iris_test/model") -plot_elbow(elim, best_features = res_perf$best_features, ci_style = "ribbon", - save_plot = TRUE, - save_dir ="./iris_test/model") - -# 显示最优特征数 -c(res_window$optimal_counts, res_perf$optimal_counts) -features_perf <- get_selected_features(elim, "perf_tolerance", tol = 0.05) -all_methods <- get_selected_features(elim, methods = c( "perf_tolerance", "stability_window"), - tol = 0.05, window_size = 40, stability_tol = 0.005) -# ═══════════════════════════════════════════════════════════════════ -``` - -```{r} -# 6. ---- Apply Selected Features ---- -# ═══════════════════════════════════════════════════════════════════ -model_obj <- ApplyFeatureSelection(model_obj, features_perf$perf_tolerance$best_features$rf) - -# ═══════════════════════════════════════════════════════════════════ -``` - -```{r} -# 7. ---- Benchmark for precess ---- -# ═══════════════════════════════════════════════════════════════════ -#| warning: false -#| message: false -#| results: "hide" -invisible(capture.output({ -result <- PreprocessingBenchmark( - data = model_obj, - group_col = "Species", - algorithms = c("rf", "gbm", "glmnet","knn", "nnet"), - impute_methods = c("none","median","knn","bag"), - norm_methods = list("none", c("center"),c("center","scale"),c("center", "scale", "YeoJohnson")) -) -})) - -print(result) -attr(result, "error_log") -PlotBenchmarkForest(result, save_plot = TRUE, save_dir ="./iris_test/model") -#bag,c("center", "scale", "YeoJohnson") -``` - -```{r} -# 8. ---- Data Splitting & Scaling ---- -set.seed(123) -idx <- createDataPartition(model_obj@clean.df[[model_obj@group_col]], p = 0.7, list = FALSE) -model_obj@split.data <- list( - training = model_obj@clean.df[idx, ], - testing = model_obj@clean.df[-idx, ] -) - -preProc <- preProcess(model_obj@split.data$training[, setdiff(colnames(model_obj@split.data$training), model_obj@group_col)], - method = c("center", "scale", "YeoJohnson",'bagImpute')) -model_obj@split.scale.data <- list( - training = predict(preProc, model_obj@split.data$training), - testing = predict(preProc, model_obj@split.data$testing) -) - -``` - -```{r} -# ---- Model Training ---- -# ============================================================================= -model_obj@filtered.set <- model_obj@split.scale.data -library(parallel) -library(doParallel) -library(pROC) - -invisible(capture.output({ -model_obj <- ModelTrainAnalysis( - object = model_obj, - methods = c("glm", "rf", "gbm", "svmRadial",'knn'), - control = list(method = "repeatedcv", number = 5, repeats = 2), - save_plots = TRUE, - save_dir = "./iris_test/model", - seed = 123 -) -})) - - -# 基于 AUC 选择最佳模型 -best_row <- model_obj@all.results[which.max(model_obj@all.results$auc), ] -cat("Best model by AUC:", best_row$Model, "\n") - -model_obj <- SelectBestModel(model_obj, metric = "auc") - -# 3. 验证 -#str(model_obj@best.model.result) - -# 4. 运行所有可视化 -#BiocManager::install("caretEnsemble") -#BiocManager::install("rBayesianOptimization") -PlotTopModelAUC(model_obj, top_n = 4, save_plot = TRUE, save_dir = "./iris_test/model") -PlotProbDensity(model_obj, save_plot = TRUE, save_dir = "./iris_test/model") -PlotProbStrip(model_obj, save_plot = TRUE, save_dir = "./iris_test/model") - -PlotModelComparison( - model_obj = model_obj, - top_n = 4, - metrics = c("auc", "Sensitivity", "Specificity", "accuracy_score", "f1_score"), - palette_name = "Darjeeling1", - save_plot = TRUE, - save_dir = "./iris_test/model", - width = 12, - height = 5 -) - -# Heatmap (Full model overview) ---- -PlotModelHeatmap( - model_obj = model_obj, - metrics = c("auc", "accuracy_score", "Sensitivity", "Specificity", - "f1_score", "Precision", "recall_score"), - save_plot = TRUE, - save_dir = "./iris_test/model" -) - -# Parallel Coordinates (Elegant comparison) ---- -PlotModelParallel( - model_obj = model_obj, - top_n = 5, - metrics = c("auc", "Sensitivity", "Specificity", "accuracy_score", "f1_score"), - save_plot = TRUE, - save_dir = "./iris_test/model" -) -# auc ---- -PlotMultiROC( - object = model_obj, - test_data = model_obj@split.scale.data$testing, - palette_name = "Darjeeling1", - save_plot = TRUE, - save_dir = "./iris_test/model" -) - -# Confusion matrix for the best model -PlotConfusionMatrix(model_obj, - test_data = model_obj@split.scale.data$testing, - model_name = "rf", threshold = 0.6, - save_plot = TRUE,prevalence = 0.3, - save_dir = "./iris_test/model") - - -# Feature importance plot (multi-model) -PlotFeatureImportance( - object = model_obj, - top_n = 20, - save_plot = TRUE, - save_dir ="./iris_test/model" -) - -# Calibration curve for the best model -PlotCalibration( - object = model_obj, - model_name ='gbm', - test_data = model_obj@filtered.set$training, - n_bins = 10, - save_plot = TRUE, - save_dir = "./iris_test/model" -) - -PlotCalibration( - object = model_obj, - model_name = 'rf', - test_data = model_obj@filtered.set$testing, - n_bins = 10, - save_plot = TRUE, - save_dir = "./iris_test/model" -) -``` - -```{r} -# 9. ---- Ensemble Model Training ---- -# 创建原始对象的副本 -model_stack <- model_obj -model_avg <- model_obj -model_wgt <- model_obj -model_vote <- model_obj -model_custom <- model_obj - -# 分别训练不同集成(不互相覆盖) -#model_stack <- TrainEnsemble(model_stack, strategy = "stacking", meta_method = "glm", top_n = 4) -model_avg <- TrainEnsemble(model_avg, strategy = "average", top_n = 4) -model_wgt <- TrainEnsemble(model_wgt, strategy = "weighted", top_n = 4) -model_vote <- TrainEnsemble(model_vote, strategy = "voting", top_n = 4) -custom_wts=c(glm = 0.1, rf = 0.5, gbm = 0.3, svmRadial = 0.1) -model_custom <- TrainEnsemble(model_custom, strategy = "weighted", - weights = custom_wts, top_n = 4) -dput(custom_wts) - -# 分别预测 -test_data <- model_obj@clean.df # 或使用测试集 -#预处理 -test_data<- predict(preProc, test_data) -#probs_stack <- PredictEnsemble(model_stack, test_data) -probs_avg <- PredictEnsemble(model_avg, test_data) -probs_wgt <- PredictEnsemble(model_wgt, test_data) -probs_vote <- PredictEnsemble(model_vote, test_data) -probs_custom <- PredictEnsemble(model_custom, test_data) - -# 比较各集成的AUC -#auc_stack <- auc(roc(test_data[[model_obj@group_col]], probs_stack)) -auc_avg <- auc(roc(test_data[[model_obj@group_col]], probs_avg)) -auc_wgt <- auc(roc(test_data[[model_obj@group_col]], probs_wgt)) -auc_custom <- auc(roc(test_data[[model_obj@group_col]], probs_custom)) -# 投票法返回的是类别,需要先转换成数值再计算AUC(可跳过或使用准确率) - -data.frame( - Strategy = c("Average","Weighted","CustomWeighted"), - AUC = c(auc_avg, auc_wgt, auc_custom) -) -``` - -```{r} -# ---- Select Best Model ---- -model_obj <- SelectBestModel(model_obj, metric = "auc") -cat("Best model:", model_obj@best.model.result$model_type, "\n") -``` - -```{r} -# 10. ---- Tune best Model Training ---- -# ============================================================================= -# 三步骤流程:查看 → 自定义 → 调参 -if(F){ - # ────────────────────────────────────────────────────────────── - # Step 1: 查看任何 caret 算法的可调参数 - # ────────────────────────────────────────────────────────────── - - # 查看随机森林的可调参数 - InspectHyperParams("rf") - # 输出: - # parameter label class default_range - # mtry #Randomly Selected Predictors numeric [1, floor(sqrt(n_features))] - - # 查看 XGBoost 的可调参数 - InspectHyperParams("xgbTree") - - # 查看 GBM 的可调参数 - InspectHyperParams("rf") - - # 查看 SVM 的可调参数 - InspectHyperParams("svmRadial") - - # 查看 GLMNet 的可调参数 - InspectHyperParams("glmnet") - - # ────────────────────────────────────────────────────────────── - # Step 2: 根据查看结果,自定义参数搜索范围 - # ────────────────────────────────────────────────────────────── - - # 示例 1:随机森林(简单) - rf_bounds <- BuildTuningBounds( - mtry = c(2, 15) # 根据特征数调整 - ) - - # 示例 2:GBM(中等复杂度) - gbm_bounds <- BuildTuningBounds( - n.trees = c(50, 500), - interaction.depth = c(1, 9), - shrinkage = c(0.001, 0.1), - n.minobsinnode = c(5, 30) - ) - - # 示例 3:XGBoost(高维搜索) - xgb_bounds <- BuildTuningBounds( - nrounds = c(50, 300), - max_depth = c(2, 10), - eta = c(0.01, 0.3), - gamma = c(0, 5), - colsample_bytree = c(0.4, 1), - min_child_weight = c(1, 10), - subsample = c(0.5, 1) - ) - - # 示例 4:SVM(简单) - svm_bounds <- BuildTuningBounds( - sigma = c(0.001, 0.1), - C = c(0.1, 10) - ) - - # 用户可以根据需要修改任何参数范围 - # 例如:限制树的数量更小 - rf_bounds_small <- BuildTuningBounds( - mtry = c(1, 5) - ) - - # ────────────────────────────────────────────────────────────── - # Step 3: 运行贝叶斯优化 - # ────────────────────────────────────────────────────────────── - - # 对随机森林进行精调 - model_obj <- FineTuneModel( - model_obj = model_obj, - method = "rf", - bounds = rf_bounds, - init_points = 10, # 初始随机采样点数 - n_iter = 20, # 贝叶斯迭代次数 - cv_folds = 5 - ) - - # 查看调参历史 - PlotTuningHistory(model_obj, save_plot = TRUE, save_dir = "./TuningResults/") - - # 提取精调后的模型 - fine_tuned_rf <- model_obj@best.model.result$fine_tuned_model - print(fine_tuned_rf) -} -# ────────────────────────────────────────────────────────────── -# 对最优模型自动检测并精调 -# ────────────────────────────────────────────────────────────── -best_method <- model_obj@best.model.result$model_type -cat("Best model type:", best_method, "\n") - -# 查看该算法的参数 -InspectHyperParams(best_method) - -# 用户手动定义参数范围(基于查看结果) -# 例如,如果最优是 rf: -custom_bounds <- BuildTuningBounds( - mtry = c(2, 12) -) - -# 运行精调 -#之前已执行 preProcess 并将结果存入 split.scale.data -model_obj <- FineTuneModel( - model_obj = model_obj, - method = "rf", - use_scaled = TRUE, - bounds = custom_bounds, - init_points = 10, - n_iter = 5, - cv_folds = 5, - metric = "ROC", - seed = 123 -) -PlotTuningHistory(model_obj, save_plot = TRUE, save_dir = "./iris_test/model") -# 提取精调后的模型 -fine_tuned_rf <- model_obj@best.model.result$fine_tuned_model -print(fine_tuned_rf) -# ────────────────────────────────────────────────────────────── -# 比较精调前后 -# ────────────────────────────────────────────────────────────── -# ============================================================================= -# Visualizing Tuning Process -# ============================================================================= -PlotTuningHistory(model_obj, - save_plot = TRUE, - save_dir = "./iris_test/model") - -# ============================================================================= -# Extract Models and Data -# ============================================================================= -# Extract the fine-tuned model -tuned_model <- model_obj@best.model.result$fine_tuned_model -model_type <- model_obj@best.model.result$model_type - -# Extract the original untuned model for comparison -orig_best <- model_obj@train.models[[model_type]] - -# IMPORTANT: Choose the correct test set. -# If you tuned using scaled data, you should evaluate using scaled data. -test_data <- model_obj@split.scale.data$testing -if(is.null(test_data)) test_data <- model_obj@split.data$testing - -gc <- model_obj@group_col - -# ============================================================================= -# Performance Comparison (AUC) -# ============================================================================= -# Use a more robust extraction for the original AUC -original_auc <- max(model_obj@all.results$auc[model_obj@all.results$Model == model_type], na.rm = TRUE) -tuned_auc <- max(tuned_model$results$ROC, na.rm = TRUE) - -cat(sprintf(">>> Performance Comparison for %s:\n", model_type)) -cat(sprintf(" Original AUC: %0.4f\n", original_auc)) -cat(sprintf(" Tuned AUC: %0.4f\n", tuned_auc)) - -# ============================================================================= -# Evaluation Visualizations -# ============================================================================= - -# Define a shared output directory -output_path <- "./iris_test/model" - -# ROC Curve (Now handles factor level alignment internally) -PlotTunedROC( - tuned_model = tuned_model, - original_best = orig_best, - test_data = test_data, - group_col = gc, - save_plot = TRUE, - save_dir = output_path -) - -# Confusion Matrix -PlotTunedConfusion( - tuned_model = tuned_model, - test_data = test_data, - group_col = gc, - save_plot = TRUE, - save_dir = output_path -) - -# Calibration Curve -PlotTunedCalibration( - tuned_model = tuned_model, - test_data = test_data, - group_col = gc, - save_plot = TRUE, - save_dir = output_path -) - -``` - -```{r} -# 11. ---- best Model Interpretation (XAI) ---- -# 11.1 创建 DALEX explainer(自动提取最佳模型和训练数据) -explainer <- CreateExplainer(model_obj, verbose = FALSE) - -rm(.save_plot) -source("./R/model_07_explain.R") -# 11.2. 模型性能(ROC 曲线) -ExplainModelPerformance( - explainer, - geom = "roc", - save_plots = TRUE, - save_dir = "./iris_test/model", - plot_width = 6, - plot_height = 5 -) - -# 11.3 变量重要性(排列法,只显示前 20 个重要特征) -ExplainVariableImportance( - explainer, - B = 10, # 排列次数 - top_n = 20, - filter_zero = TRUE, # 剔除重要性为零的特征 - save_plots = TRUE, - save_dir = "./iris_test/model", - plot_width = 8, - plot_height = 5 -) - -# 11.4 全局 SHAP 蜂群图 -ExplainSHAPBeeswarm( - explainer, - N = 10, # 使用 10 个样本计算 SHAP - B = 10, - max_features = 5, # 最多显示 5 个特征 - save_plots = TRUE, - save_dir = "./iris_test/model", - plot_width = 9, - plot_height = 6 -) - -# 11.5 单样本 SHAP 瀑布图(以第一个训练样本为例) -ExplainSHAP( - explainer,remove_zero = T, - new_observation = 1, # 行索引,或传入单行 data.frame - B = 25, - save_plots = TRUE, - save_dir = "./iris_test/model", - plot_width = 8, - plot_height = 5 -) - -# 11.6 Break Down 分解(含交互检测) -ExplainBreakDown( - explainer,remove_zero = T,remove_intercept = T, - new_observation = 1, - type = "break_down_interactions", # 或 "break_down" - save_plots = TRUE, - save_dir = "./iris_test/model", - plot_width = 8, - plot_height = 5 -) - -# 11.7 Ceteris Paribus What‑if 曲线(只绘制前 4 个连续变量) -ExplainCeterisParibus( - explainer, - new_observation = 1, - variables = NULL, # 默认所有连续变量 - categorical_variables = NULL, # 若有分类变量可指定 - save_plots = TRUE, - save_dir = "./iris_test/model", - plot_width = 8, - plot_height = 5 -) - -# 11.8 偏依赖图(PDP),可换成 ALE -ExplainPartialDependence( - explainer, - variables = NULL, # 前 4 个连续变量 - type = "partial", # "accumulated" 为 ALE - N = 300, - save_plots = TRUE, - save_dir = "./iris_test/model", - plot_width = 8, - plot_height = 5 -) - -# 11.9 (可选) 一键全流程 -ExplainAll( - object = model_obj, - save_plots = TRUE, - save_dir = "./iris_test/model" -) - -# 11.10. 保存 explainer 对象,方便以后重复使用 -saveRDS(explainer, file = "./iris_test/model/explainer.rds") - -#解释--- -# 默认最佳模型(原有用法不变,会提取最优模型进行解释) -explainer <- CreateExplainer(model_obj) -# 解释其他训练好的模型 -explainer_gbm <- CreateExplainer(model_obj, model = "gbm") -ExplainVariableImportance(explainer_gbm, top_n = 15, save_plots = TRUE, save_dir = "./Explain/Ensemble/") -# 解释调参后的模型 -tuned_rf <- model_obj@best.model.result$fine_tuned_model -explainer_tuned <- CreateExplainer(model_obj, model = tuned_rf) -ExplainVariableImportance(explainer_tuned, top_n = 15, save_plots = TRUE, save_dir = "./Explain/Ensemble/") - -# 解释集成模型(先确保已运行 TrainEnsemble) -#model_obj <- TrainEnsemble(model_obj, strategy = "stacking", #meta_method = "glm", top_n = 4) -#explainer_ens <- CreateExplainer(model_obj, model = #"ensemble") -#ExplainVariableImportance(explainer_ens, top_n = 15, #save_plots = TRUE, save_dir = "./Explain/Ensemble/") -``` - -```{r eval=FALSE, include=FALSE} -# 12. ---- clinical and cutoff ---- -# 准备虚拟临床数据并绑定 -test_data <- model_obj@filtered.set$testing -virtual_clinical <- data.frame( - AST=test_data$AST, - WBC=test_data$WBC, - Sex=test_data$GENDER, - Smoking = sample(c("Never","Former","Current"), nrow(test_data), replace = TRUE), - Stage = sample(c("I","II","III","IV"), nrow(test_data), replace = TRUE), - row.names = rownames(test_data) -) -model_obj <- AttachClinicalData(model_obj, virtual_clinical) - -BiocManager::install("nricens") -# 临床相关性 -ClinicalCorrelation(model_obj, save_plot = TRUE, save_dir = "./Corr/") - -# 亚组分析(按 Sex 和 Smoking) -ClinicalSubgroup(model_obj, subgroup_vars = c("Sex", "Smoking"), - save_plot = TRUE, save_dir = "./Subgroup/") - -# 混杂校正 -ClinicalConfounder(model_obj, outcome_var = "Species", - save_plot = TRUE, save_dir = "./Confounder/") -# ---- 阶段一:针对特定模型计算阈值 ---- -# 例如使用最佳模型 (rf),自定义目标:PPV 尽量接近 0.8,NPV 尽量接近 0.9,并找出最大准确率 -thresh <- CalculateThresholds( - model_obj, - model_name = "rf", # 最佳模型 - target_ppv = 0.8, - target_npv = 0.9, - target_acc = TRUE -) -names(thresh$thresholds) # 查看所有阈值名称 - -# ---- 阶段二:应用阈值进行分类 ---- -# 应用约登指数阈值 -ApplyThreshold(thresh, which_threshold = "Youden") -# 应用 PPV 目标阈值 -ApplyThreshold(thresh, which_threshold = "PPV_Target") -ApplyThreshold(thresh, which_threshold = "NPV_Target") -# 应用自定义阈值 0.5 -ApplyThreshold(thresh, custom_threshold = 0.5) - -# ---- 阶段三:生成可视化(单模型) ---- -ClinicalThreshold( - model_obj, - target_ppv = 0.8, - target_npv = 0.9, - save_plot = TRUE, - save_dir = "./Thresholds_BestModel/" -) - -# ---- 阶段四:与其他模型比较(例如模拟 rDOC) ---- -# 加载模型对象 -test_data <- model_obj@split.data$testing -test_data <- predict(preProc,test_data) -true_labels <- factor(test_data[["Species"]]) # 真实结局 -#如果group分类变量是数字因子变量,系统会在上面加个X -positive <- "X1" # 阳性类别 -# ────────────────────────────────────────────────────────────────────────── -# 准备内部模型阈值结果 -# ────────────────────────────────────────────────────────────────────────── -thresh_internal <- CalculateThresholds( - model_obj, - target_ppv = 0.8, - target_npv = 0.9, - target_acc = TRUE -) -cat("\n内部模型可用阈值:\n") -print(thresh_internal$thresholds) - -# ────────────────────────────────────────────────────────────────────────── -# 模拟外部概率并构建阈值结果(实际使用时替换为真实外部概率) -# ────────────────────────────────────────────────────────────────────────── -set.seed(456) -my_probs <- predict(model_obj@train.models$rf, test_data, type = "prob")[, positive] -rdoc_probs <- plogis(qlogis(my_probs + 1e-6) + rnorm(length(my_probs), mean = 0, sd = 0.5)) -rdoc_probs <- pmax(0, pmin(1, rdoc_probs)) # 截断至 [0,1] - -thresh_external <- CalculateThresholdsFromProbs( - probs = rdoc_probs, - true = true_labels, - positive ="1", - target_ppv = 0.8, - target_npv = 0.9, - target_acc = TRUE -) -cat("\n外部模型可用阈值:\n") -print(thresh_external$thresholds) - -# ────────────────────────────────────────────────────────────────────────── -# 分类性能对比(使用 Youden 阈值,也可自定义) -# ────────────────────────────────────────────────────────────────────────── -CompareClassification( - thresh_result1 = thresh_internal, - thresh_result2 = thresh_external, - thr1 = NULL, # NULL 表示自动使用 Youden - thr2 = NULL, - label1 = "Your Model", - label2 = "rDOC (External)", - save_plot = TRUE, - save_dir = "./Comparison/" -) - -# ────────────────────────────────────────────────────────────────────────── -# ROC 曲线对比(关键:传入完整的阈值结果对象,而不是数值) -# ────────────────────────────────────────────────────────────────────────── -PlotThresholdROC( - thresh_result = thresh_internal, # 注意!这里是 thresh_internal 对象 - compare_model = thresh_external, # 比较对象也是完整结果 - compare_label = "rDOC (External)", - save_plot = TRUE, - save_dir = "./Comparison/" -) - -# ── 一键式分析(不使用 compare_model) ── -ClinicalAnalysis(model_obj, - subgroup_vars = c("Sex", "Stage"), - outcome_var = "Species", - save_plots = TRUE, - save_dir = "./FullClinical/") - -``` - -```{r eval=FALSE, include=FALSE} -# ---- NRI/IDI---- -ref_prob <- c(rbeta(100, 5, 2), rbeta(200, 2, 5)) -new_prob <- c(rbeta(100, 6, 1.5), rbeta(200, 1.5, 6)) - -# ═══════════════════════════════════════════════════════════════ -# 场景一:使用相同的阈值(传统 BI‑RADS) -# ═══════════════════════════════════════════════════════════════ -ref_prob <- predict(model_obj@train.models$rf, test_data, type = "prob")[, positive] -new_prob <- predict(model_obj@train.models$gbm, test_data, type = "prob")[, positive] -NRI_IDI_Analysis( - ref_prob = ref_prob, - new_prob = new_prob, - truth = true_labels, - risk_thresholds = c(0.02, 0.1, 0.5, 0.95), # 4 个阈值 → 5 个类别 - labels = c("Reference Model", "New Model"), - outcome_labels = c("0", "1"), # 自定义良恶性标签 - show_ci = TRUE, - save_dir = "./Results_SharedThresholds/" -) - -# ═══════════════════════════════════════════════════════════════ -# 场景二:两个模型使用不同的阈值(独立阈值) -# ═══════════════════════════════════════════════════════════════ -ref_thr <- c(0.02, 0.1, 0.5, 0.95) # 参考模型沿用旧 BI‑RADS → 5 类 -new_thr <- c(0.05, 0.4) # 新模型三分类 → 3 类 - -NRI_IDI_Analysis( - ref_prob = ref_prob, - new_prob = new_prob, - truth = true_labels, - ref_thresholds = ref_thr, - new_thresholds = new_thr, - # 标签数量必须匹配:参考 5 个,新模型 3 个 - ref_category_labels = c("I", "II", "III", "IV", "V"), - new_category_labels = c("Low", "Intermediate", "High"), - labels = c("Reference RF", "New Model"), - outcome_labels = c("Benign", "Malignant"), - show_ci = FALSE, # 不显示 ROC 置信区间 - save_dir = "./Results_IndependentThresholds/" -) - -# ═══════════════════════════════════════════════════════════════ -# 场景三:单步调用(灵活性最高) -# ═══════════════════════════════════════════════════════════════ - -# 3.1 计算 NRI -nri_res <- CalculateCategoryNRI( - truth = true_labels, - ref_prob = ref_prob, - new_prob = new_prob, - ref_thresholds = c(0.3, 0.7), # 2 个阈值 → 3 类 - new_thresholds = c(0.5) # 1 个阈值 → 2 类 -) -print(nri_res$nri_total) - -# 3.2 绘制 NRI 热图(自动匹配标签数量) -PlotNRIHeatmap( - nri_res, - ref_category_labels = c("Low", "Medium", "High"), # 3 个标签 - new_category_labels = c("Negative", "Positive"), # 2 个标签 - save_plot = TRUE, save_dir = "./Heatmap/" -) - -# 3.3 绘制 IDI 曲线(自定义 BI‑RADS 参考线) -PlotIDICurve(true_labels, ref_prob, new_prob, - risk_thresholds = c(0.02, 0.1, 0.5, 0.95), - save_plot = TRUE, save_dir = "./IDI/") - -# 3.4 绘制 ROC 对比(不带置信区间) -PlotROCCompare(true_labels, ref_prob, new_prob, - labels = c("RF", "gbm"), show_ci = FALSE, - save_plot = TRUE, save_dir = "./ROC/") - -# 3.5 预测概率分布小提琴图 -PlotPredDist(true_labels, ref_prob, new_prob, - labels = c("RF", "New"), outcome_labels = c("0", "1"), - save_plot = TRUE, save_dir = "./Dist/") - -# 3.6 阈值扫描 NRI 曲线 -PlotThresholdNRI(true_labels, ref_prob, new_prob, - save_plot = TRUE, save_dir = "./Thresholds/") -``` - -```{r eval=FALSE, include=FALSE} -# 13. ---- Multi-Model Deployment Examples (Tech Edition) ---- -# ============================================================================= - -# Preparation: Extract 20 demonstration records -test_data_raw <- head(model_obj@clean.df, 20) - -# Initialize Deployment with Tech Metadata -deploy_manager <- ModelDeployment( - object = model_obj, - preproc = preProc, - class_labels = c("NEGATIVE", "POSITIVE"), - model_description = "Next-generation Ensemble Platform for Platelet-Transcriptomics Analysis." -) - -# --- Example 1: High Sensitivity Screening (Threshold = 0.3) --- -# Using the Ensemble model (if trained) or best single model automatically. -screen_res <- deploy_manager$predict_fn(test_data_raw, threshold = 0.3, model_choice = "Ensemble Stacking") -screen_diag <- ifelse(screen_res[, 2] >= 0.3, "POSITIVE", "NEGATIVE") - -cat("\n--- Screening Mode (Threshold 0.3) ---\n") -print(table(screen_diag)) - -# --- Example 2: Comparison of Specific Algorithms --- -# Directly comparing the Random Forest (rf) against the Gradient Boosting (gbm) -thresh <- 0.5 - -res_rf <- deploy_manager$predict_fn(test_data_raw, thresh, "rf") -res_gbm <- deploy_manager$predict_fn(test_data_raw, thresh, "gbm") - -diag_rf <- ifelse(res_rf[, 2] >= thresh, "POSITIVE", "NEGATIVE") -diag_gbm <- ifelse(res_gbm[, 2] >= thresh, "POSITIVE", "NEGATIVE") - -cat("\n--- Algorithm Consistency: RF vs GBM ---\n") -print(table(RF = diag_rf, GBM = diag_gbm)) - -# ============================================================================= -# FINAL: LAUNCH TECH-UI TERMINAL -# ============================================================================= -# This opens the Shiny interface with the #f7f7f7 background and Tech-Blue sidebar. -library(bslib) -library(shiny) -library(plotly) -deploy_clinlab_app(deploy_manager, title = "Clinlabomics Intelligence v2.1") - - -cat("\n========================================\n") -cat(" All deployment examples completed.\n") -cat("========================================\n") -# 13. ---- Save the final model object ---- -saveRDS(model_obj, file = "model_obj.rds") -cat("\nModel object saved to model_obj.rds\n") -``` diff --git a/Module3.qmd b/Module3.qmd deleted file mode 100644 index f33a510..0000000 --- a/Module3.qmd +++ /dev/null @@ -1,504 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Module 3 - -```{r} -# ============================================================================= -# 基于 stat_obj.rds 进行完整的亚型分析(Subtyping) -# 包含: K-means, LPA, NMF, t-SNE/UMAP, 聚类评估, 方法比较, 验证集预测, -# 多分类差异分析, 标记特征热图, 聚类热图, 轮廓图, 冲积图 -# ============================================================================= -rm(list = ls()) -# 0. 创建输出主目录 ------------------------------------------------------------ -dir.create("./iris_test/subtyping", recursive = TRUE, showWarnings = FALSE) - -``` - -```{r} -# 1. 加载所需的包(若缺失则自动安装)------------------------------------------- -pkgs <- c( - "ggplot2", "dplyr", "tidyr", "wesanderson", "ggprism", "RColorBrewer", - "factoextra", "NbClust", "cluster", "mclust", "NMF", "nnls", - "ComplexHeatmap", "circlize", "pheatmap", "Rtsne", "umap", - "caret", "gridExtra", "patchwork", "rlang" # 添加 rlang 以使用 %||% -) -new_pkgs <- pkgs[!sapply(pkgs, requireNamespace, quietly = TRUE)] -if (length(new_pkgs)) install.packages(new_pkgs) -invisible(lapply(pkgs, library, character.only = TRUE)) - -``` - -```{r} -# 2. 加载 iCare 模块(请根据实际路径调整)-------------------------------------- -source("./R/output_config.R") # 仅用于可能的后向兼容,本脚本不再使用其函数 -source("./R/object_utils.R") # ConvertObject, InspectObject -source("./R/viz_functions.R") # 通用可视化函数 -source("./R/stat_06_deg.R") # 多分类差异分析 batch_Wilcoxon_MultiClass -source("./R/model_01_object.R") -source("./R/stat_08_normalize.R") -source("./R/stat_02_missing.R") -source("./R/utils_internal.R") -source("./R/subtyping_01_object.R") # Subtyping 类及创建函数 -source("./R/subtyping_02_normalize.R") # 归一化 -source("./R/subtyping_03_kmeans.R") # K-means -source("./R/subtyping_04_nmf.R") # NMF -source("./R/subtyping_05_lpa.R") -source("./R/subtyping_06_predict.R") -source("./R/subtyping_07_evaluate.R") -source("./R/subtyping_08_compare.R") -source("./R/subtyping_09_tsne.R") -source("./R/subtyping_09_umap.R") -source("./R/subtyping_10_deploy.R") - -``` - -```{r} -# 3. 读取 stat_obj.rds --------------------------------------------------------- -stat_obj <- readRDS("stat_obj.rds") -cat("Stat object loaded.\n") -InspectObject(stat_obj) -colnames(stat_obj@clean.data) -``` - -```{r} -# 4. 转换为 Subtyping 对象 ----------------------------------------------------- -sub_obj <- ConvertObject(stat_obj, to = "Subtyping") -colnames(sub_obj@clean.data) -cat("\nSubtyping object created.\n") -InspectObject(sub_obj) - -``` - -```{r} -# 5. 数据归一化(min-max,对 NMF 友好)---------------------------------------- -sub_obj <- Sub_normalize_process(sub_obj, normalize_method = "min_max") -cat("Normalization completed. scale.data dimensions:", dim(sub_obj@scale.data), "\n") - -# 提取归一化参数(用于后续验证集预测) -norm_params <- Sub_extract_norm_params(sub_obj, verbose = TRUE) -set.seed(123) -split <- SplitSubtypingObject(sub_obj, p = 0.7, stratify_by = "SWAB") -sub_train <- split$train -sub_test <- split$test - -if(F){ - # 创建新数据的 Subtyping 对象(仅含 clean.data 和 info.data) - new_sub <- CreateSubtypingObject( - clean.data = new_clean_data, - info.data = new_info_data - ) - # 应用训练集的归一化参数 - new_sub <- Sub_apply_norm_params(new_sub, norm_params = norm_params, verbose = TRUE) -} -# 对训练集进行归一化 -sub_train <- Sub_normalize_process(sub_train, normalize_method = "min_max") -cat("Train set:", nrow(sub_train@clean.data), "samples\n") -cat("Validation set:", nrow(sub_test@clean.data), "samples\n") - -# 将归一化参数应用到验证集 -sub_test <- Sub_apply_norm_params(sub_test, norm_params = norm_params, verbose = TRUE) - -# 重要:移除常数列(方差为零),避免 K-means 内部 PCA 报错 - -sub_train@scale.data <- remove_constant_columns(sub_train@scale.data) -sub_train@clean.data <- sub_train@clean.data[, colnames(sub_train@scale.data), drop = FALSE] - -``` - -```{r} -# 8. K-means 聚类 ----------------------------------------------------------------- -cat("\n=== K-means Clustering ===\n") -sub_train <- Sub_kmeans_with_optimal_k( - object = sub_train, - use_scaled_data = TRUE, - k.max = 8, - palette_name = "Zissou1", - save_plots = TRUE, - save_dir = "./iris_test/subtyping/kmeans", - seed = 123 -) -cat("K-means optimal K =", sub_train@Optimal.cluster, "\n") -table(sub_train@info.data$cluster_kmeans) - -``` - -```{r} -# 9. LPA 聚类 (Gaussian Mixture) ------------------------------------------------ -cat("\n=== LPA Clustering ===\n") -library(mclust) -sub_train <- Sub_lpa_with_optimal_k( - object = sub_train, - use_scaled_data = TRUE, - max_clusters = 3, - save_plots = TRUE, - save_dir = "./iris_test/subtyping/lpa", - verbose = TRUE, - color_palette = "Darjeeling1", - seed = 123 -) -cat("LPA optimal K =", sub_train@Optimal.cluster, "\n") -table(sub_train@info.data$cluster_lpa) - -``` - -```{r} -# 10. NMF 聚类(主方法)---------------------------------------------------------- -cat("\n=== NMF Clustering ===\n") -library(NMF) -# 10a. 多 rank 估计 -sub_train <- Sub_nmf_estimate( - object = sub_train, - rank_range = 2:6, - nrun = 5, - method = "brunet", - save_dir = "./iris_test/subtyping/nmf", - seed = 123 -) -# 10b. 选择最佳 rank -sub_train <- Sub_nmf_best_rank( - object = sub_train, - nrun = 5, - method = "brunet", - palette_name = "Zissou1", - save_dir = "./iris_test/subtyping/nmf" -) -cat("NMF optimal rank =", sub_train@Optimal.cluster, "\n") -# 10c. 分配样本到亚型 -sub_train <- Sub_nmf_assign_subtypes(sub_train) -table(sub_train@info.data$cluster_nmf) - -# 10d. 保存最终 NMF 模型(用于后续预测) -dir.create("./iris_test/subtyping/nmf/model", recursive = TRUE, showWarnings = FALSE) -slotNames(sub_train) -sub_train <- Sub_nmf_train_model( - object = sub_train, - best_k = sub_train@Optimal.cluster, - nrun = 10, - method = "brunet", - model_name = "covid_nmf_model", - save_dir = "./iris_test/subtyping/nmf/model" -) - -``` - -```{r} -# 11. 验证集预测(使用训练好的 NMF 模型)---------------------------------------- -cat("\n=== Predict validation set using NMF ===\n") -sub_test <- Sub_predict_subtypes( - object = sub_test, - train_object = sub_train, - method = "nmf", - verbose = TRUE -) -cat("Validation NMF subtype distribution:\n") -print(table(sub_test@info.data$cluster_nmf)) - - -``` - -```{r} -# 12. 降维可视化(t-SNE 与 UMAP)------------------------------------------------ -cat("\n=== Dimensionality reduction (t-SNE & UMAP) ===\n") -# ============================================================================ -# 补充可视化:典型示例(展示不同分组和临床变量) -# 注意:先运行 Sub_tsne_analyse 和 Sub_umap_analyse -# ============================================================================ - -# 检查 t-SNE 结果是否存在,若不存在则自动运行 -cat("t-SNE results not found, running Sub_tsne_analyse...\n") -sub_train <- Sub_tsne_analyse( - object = sub_train, - use_scaled_data = TRUE) - -# 检查 UMAP 结果是否存在 -sub_train <- Sub_umap_analyse( - object = sub_train, - n_neighbors = 15, - min_dist = 0.1, - metric = "euclidean" ) - - -# 示例1:t-SNE 按 LPA 亚型着色(最常用) -p1 <- PlotDimReduction( - object = sub_train, - reduction = "tsne", - color_by = "cluster_lpa", - palette_name = "Darjeeling1", - save_plot = TRUE, - save_dir = "./iris_test/subtyping/tsne", - point_size = 1.8 -) + ggplot2::labs(title = "t-SNE colored by LPA subtype") -dev.off() -print(p1) - -# 示例2:t-SNE 按临床信息着色(分组) -colnames(sub_train@info.data) -p2 <- PlotDimReduction( - object = sub_train, - reduction = "tsne", - color_by = "species", - palette_name = "Royal1", - save_plot = TRUE, - save_dir = "./iris_test/subtyping/tsne", - point_size = 1.8 -) + ggplot2::labs(title = "t-SNE colored by Severity") - -print(p2) -sub_train@info.data$species=factor(sub_train@info.data$species) -p2 <- PlotDimReduction( - object = sub_train, - reduction = "tsne", - color_by = "species", - palette_name = "Royal1", - save_plot = TRUE, - save_dir = "./iris_test/subtyping/tsne", - point_size = 1.8 -) + ggplot2::labs(title = "t-SNE colored by Severity") - -print(p2) -# 示例3:UMAP 按 NMF 亚型着色,同时用形状表示性别(如果存在) -#sub_train@info.data$Sex=sub_train@clean.data$gender -#p3 <- PlotDimReduction( -# object = sub_train, -# reduction = "umap", -# color_by = "Sex", -# palette_name = "Zissou1", -# save_plot = TRUE, -# save_dir = "./iris_test/subtyping/umap", -# point_size = 1.8 -#) + ggplot2::labs(title = "UMAP: Sex (color) ") -#print(p3) - - -# 示例4:UMAP 按年龄连续着色(如果存在 Age) -#sub_train@info.data$Age=sub_train@clean.data$age -#p4 <- PlotDimReduction( -# object = sub_train, -# reduction = "umap", -# color_by = "Age", -# palette_name = "viridis", # 连续变量建议用渐变色 -# save_plot = TRUE, -# save_dir = "./iris_test/subtyping/umap", -# point_size = 1.8 -#) + ggplot2::labs(title = "UMAP colored by Age (continuous)"#) -#print(p4) - - -``` - -```{r} -# 13. 聚类质量评估(Calinski-Harabasz, Davies-Bouldin, Silhouette)------------- -cat("\n=== Clustering quality evaluation ===\n") -# 为每种方法创建临时对象,避免覆盖原对象 -km_eval <- sub_train -km_eval@clustered.data$group <- sub_train@info.data$cluster_kmeans -eval_km <- Sub_evaluation_results(km_eval, seed = 123) - -lpa_eval <- sub_train -lpa_eval@clustered.data$group <- sub_train@info.data$cluster_lpa -eval_lpa <- Sub_evaluation_results(lpa_eval, seed = 123) - -nmf_eval <- sub_train -nmf_eval@clustered.data$group <- sub_train@info.data$cluster_nmf -eval_nmf <- Sub_evaluation_results(nmf_eval, seed = 123) - -eval_summary <- data.frame( - Method = c("K-means", "LPA", "NMF"), - rbind(eval_km@evaluation_results, eval_lpa@evaluation_results, eval_nmf@evaluation_results) -) -print(eval_summary) - -``` - -```{r} -# 14. 三种聚类方法的一致性(ARI 矩阵及热图)-------------------------------------- -cat("\n=== Consistency between methods ===\n") -# 将三种方法的结果整合到同一个对象中 -sub_compare <- sub_train -sub_compare@info.data$cluster_lpa=paste0('S',sub_compare@info.data$cluster_lpa) -sub_compare@info.data$cluster_kmeans=paste0('S',sub_compare@info.data$cluster_kmeans) - -ari_mat <- compare_clusterings( - sub_compare, - methods = c("cluster_kmeans", "cluster_lpa", "cluster_nmf"), - output = "matrix" -) -cat("Adjusted Rand Index matrix:\n") -print(round(ari_mat, 3)) - -plot_clustering_comparison( - sub_compare, - methods = c("cluster_kmeans", "cluster_lpa", "cluster_nmf"), - save_dir = "./iris_test/subtyping/comparison", - width = 5, - height = 4.5, - base_size = 12 -) - -``` - -```{r} -# ============================================================================ -# 15. 亚型差异特征分析与增强可视化(多分类 DEG + 热图 + 轮廓图 + 冲积图) -# ============================================================================ -cat("\n", strrep("=", 70), "\n") -cat("SECTION 15: Subtype-specific differential features & enhanced visualization\n") -cat(strrep("=", 70), "\n\n") - -# ---------- 15.1 多分类差异分析(以 LPA 亚型为例)---------- - -# 准备分析数据框:所有数值变量 + 亚型标签 -deg_df <- sub_train@clean.data # 原始数值数据(未缩放,更易解释) -deg_df$subtype <- sub_train@info.data$cluster_lpa -str(deg_df) -deg_df$subtype=factor(deg_df$subtype,levels = c(1,2,3)) -# 运行多分类 Wilcoxon(one-vs-rest) -dir.create("./iris_test/subtyping/differential", recursive = TRUE, showWarnings = FALSE) -multi_deg <- batch_Wilcoxon_MultiClass( - mat = deg_df, - group_col = "subtype", - only.pos = FALSE, - save_data = TRUE, - save_dir = "./iris_test/subtyping/differential" -) - -# 提取每个亚型中 logFC 绝对值最大的前 10 个标记特征(p < 0.05) -top_markers <- multi_deg %>% - group_by(target_group) %>% - arrange(desc(logFC), .by_group = TRUE) %>% - slice_head(n = 3) %>% - ungroup() -#由于实例数据不典型,下面有个模拟数据效果 -# 场景:放宽 P 值到 0.1,只看最强的差异 (logFC > 0.5) -# 自动计算 z_limit 并进行 log 处理 -PlotClusterHeatmap( - object = sub_train,p_cutoff = 2, - deg_df = multi_deg, - top_n = 2, - save_path = "./Clinlab_Auto_Heatmap.pdf" -) - -PlotClusterHeatmap( - object = sub_train, p_cutoff = 2, - deg_df = multi_deg, - group_by = "cluster_lpa", - annotation_cols = "species", - top_n = 4, - log_transform = T, - save_path = "./Heatmap_with_species.pdf", - annotation_palette = list(species = c("Others" = "#D32F2F", "virginica" = "#1976D2") ) -) - -#PlotGroupMeanHeatmap( -# object = sub_train, -# deg_df = multi_deg,top_n= 2, -# custom_levels = c("1", "2", "3"), # 强制按此顺序排列列 -# z_score_type = "row", # #突出显示每种指标在哪个组最高 -# heatmap_palette = c("#2166AC", "white", "#B2182B"), -# save_path = "./Group_Mean_Zscore.pdf" -#) - -# ---------- 15.4 轮廓图(PlotSilhouette)---------- -cat("\n--- PlotSilhouette (based on LPA) ---\n") -dir.create("./iris_test/subtyping/silhouette", recursive = TRUE, showWarnings = FALSE) -PlotSilhouette( - object = sub_train,group_by = "cluster_lpa", - dist_method = "euclidean", - palette_name = "Darjeeling1", - save_plot = TRUE, - save_dir = "./iris_test/subtyping/silhouette" -) - -# ---------- 15.5 冲积图(PlotAlluvial):比较 K‑means 与 LPA ---------- -cat("\n--- PlotAlluvial (K-means vs LPA) ---\n") -sub_train@info.data$cluster_kmeans_char <- as.character(sub_train@info.data$cluster_kmeans) -sub_train@info.data$cluster_lpa_char <- as.character(sub_train@info.data$cluster_lpa) -dir.create("./iris_test/subtyping/alluvial", recursive = TRUE, showWarnings = FALSE) - -PlotMultiAlluvial( - object = sub_train, - cols_list = c('species',"cluster_kmeans", "cluster_lpa", "cluster_nmf"), - save_plot = TRUE, - save_dir = "./iris_test/subtyping/alluvial" -) - - -``` - -```{r} -# ============================================================================= -# 16. FINAL SUBTYPING DEPLOYMENT (Clean Version) -# ============================================================================= -# 准备演示数据 -demo_raw_data <- head(sub_train@clean.data, 20) -# Initialize the specialized manager -sub_manager <- New_Sub_Manager(sub_train) -# Scenario: Quick Console Validation (No UI) -quick_pred <- sub_manager$sub_predict(head(demo_raw_data), method = "nmf") -print(quick_pred@info.data$cluster_nmf) - -# Define High-Value Semantic Mapping -# This ensures "Batch Mode" shows meaningful distributions -# Define Background Info -my_intro <- list( - abstract = "Cohort-scale subtyping tool for Early Lung Adenocarcinoma.", - citation = "Luo H, et al. Clinlabomics Foundation Model. 2026." -) -my_var_dict <- data.frame( - Feature = c("gender", "age", "wbc", "platelets", "crp", "ldh"), - Description = c( - "Patient biological sex (1 for Male, 2 for Female)", - "Patient age at the time of diagnosis", - "White Blood Cell count from routine blood test", - "Total Platelet count (Key marker for TEP analysis)", - "C-reactive Protein level indicating inflammation", - "Lactate Dehydrogenase level associated with tumor burden" - ), - Units = c("Category", "Years", "10^9/L", "10^9/L", "mg/L", "U/L"), - stringsAsFactors = FALSE -) -## Launch Terminal -#launch_sub_deploy_app( -# sub_manager = sub_manager, -# title = "Clinlabomics Batch Terminal v2.0", -# project_info = my_intro -#) -## Launch with full configuration -## This Scenario provides the most professional user #experience -#launch_sub_deploy_app( -# sub_manager = sub_manager, var_dict = my_var_dict, -# title = "Stratification Portal", -# project_info = my_intro, -# var_dict = my_dict -#) - -``` - -```{r} -# ============================================================================ -# 17. 最终保存 Subtyping 对象(含所有聚类结果和可视化) -# ============================================================================ -final_obj <- sub_train -saveRDS(final_obj, file = "./iris_test/subtyping/final_subtyping_object.rds") -cat("\nFinal Subtyping object saved to: ./iris_test/subtyping/final_subtyping_object.rds\n") - -``` - -```{r} -# 18. 输出简要摘要 ------------------------------------------------------------- -cat("\n========================================\n") -cat("Subtyping analysis completed.\n") -cat("Optimal cluster numbers:\n") -cat(" - K-means:", eval_km@evaluation_results$n_clusters, "\n") -cat(" - LPA :", eval_lpa@evaluation_results$n_clusters, "\n") -cat(" - NMF :", eval_nmf@evaluation_results$n_clusters, "\n") -cat("Best method based on Silhouette:\n") -cat(" ", eval_summary$Method[which.max(eval_summary$Silhouette)], "\n") -cat("All results saved under: ./iris_test/subtyping/\n") -cat("========================================\n") - -``` diff --git a/Module4.qmd b/Module4.qmd deleted file mode 100644 index 70931ea..0000000 --- a/Module4.qmd +++ /dev/null @@ -1,635 +0,0 @@ ---- -output: html_document -editor_options: - chunk_output_type: console ---- - -# Module 4 - -```{r} -# ============================================================================== -# prognosis_04_workflow.R – Ultimate Function Coverage Pipeline -# -# This script executes EVERY public function from the PrognosiX framework: -# - prognosis_01_object.R (indirectly via builders) -# - prognosis_02_framework.R (all 30+ functions) -# - prognosis_03_deploy.R (all 5 functions) - -# Features: multi-strategy feature selection, optimal threshold, -# all validation plots, stability, ablation, DCA, SHAP, -# sensitivity analysis, subgroup forest, calibration, -# wrapper pipelines, and deployment manager. -# ============================================================================== - -# ------------------------------------------------------------------------------ -# 0. Environment & setup -# ------------------------------------------------------------------------------ -source("./R/prognosis_01_object.R") -source("./R/prognosis_02_framework.R") -source("./R/prognosis_03_deploy.R") -source("./R/stat_02_missing.R") -source("./R/stat_05_handle_missing.R") -source("./R/stat_01_object.R") -source("./R/output_config.R") - -suppressPackageStartupMessages({ - library(survival); library(mlr3); library(mlr3proba); library(mlr3tuning) - library(mlr3learners); library(mlr3extralearners); library(tidyverse);library(wesanderson); - library(ggplot2); library(ggprism); library(survminer);library("mlr3viz") -}) - - -OUT_DIR <- "./Prognosis_Full_Coverage" -dir.create(OUT_DIR, FALSE, TRUE) -SEED <- 2025; set.seed(SEED) -``` - -```{r} -# ------------------------------------------------------------------------------ -# 1. Data preparation (Stat object from dirty veteran) -# ------------------------------------------------------------------------------ -dat=read.csv("./test_data/blood_data_PMID40759646.csv")[,-1] -inf=read.csv("./test_data/inf_data_PMID40759646.csv")[,-1] - -dat=dat[dat$days_before_first_treatment<10,] -colnames(inf) -inf=inf[,c( "patient_id","age_at_initial_diagnosis", "sex", "survival_status", - "days_to_last_information" )] - -colnames(inf)=c( "patient_id","age", "sex", "status", "time") - -mat=left_join(dat,inf,by="patient_id") -mat$status=ifelse(mat$status=='living',1,0) -mat=mat[,-c(1,2,3)] -# 构建 Stat 对象(模拟用户的上游分析结果) -stat_obj <- CreateStatObject( - raw.data = mat, - clean.data = mat, - group_col = "status", - na.action = "allow" # 先允许 NA,让 Stat_to_PrognosiX 处理 -) - -``` - -```{r} -# ---------- Pre‑cleaning Exploratory Analysis ---------- -## Missing data visualization -stat_obj <- state_plot_missing_data(stat_obj, save_plots = T, save_data = T,save_dir = "./surv") - -## Variable type diagnosis -stat_obj <- stat_diagnose_variable_type(stat_obj, max_unique_values = 5) -cat("Variable types:\n"); print(stat_obj@variable.types) - -``` - -```{r} -# ---------- Data Cleaning ---------- -## Impute missing values (median/mode) -stat_obj <- stat_miss_processed(stat_obj, impute_method = "mice", - return_imputation_info = TRUE, save_data = T) -df=stat_obj@clean.data -``` - -```{r} -# ------------------------------------------------------------------------------ -# 2. Stat -> PrognosiX conversion (Stat_to_PrognosiX) -# ------------------------------------------------------------------------------ -prog <- Stat_to_PrognosiX(stat_obj , "time", "status", na_action = "omit", - min_events = 10, verbose = TRUE) - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 3. Data quality check (check_data_quality) -# ------------------------------------------------------------------------------ -check_data_quality(prog@survival.data, prog@time_col, prog@status_col) - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 4. List all available survival learners (surv_list_available_learners) -# ------------------------------------------------------------------------------ -available_learners <- surv_list_available_learners() -cat("Available survival learners:", length(available_learners), "\n") - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 5. Multi‑strategy feature selection (12+ methods) -# ------------------------------------------------------------------------------ -# Print the methods to console -list_surv_feature_methods() -# Get the data frame for programmatic use -methods <- list_surv_feature_methods(verbose = FALSE) -head(methods) -methods_test=c("uni_cox", "lasso", "rf_imp",'ridge','enet','vimp') -feat_sel <- surv_feature_selection_multi( - object = prog, - methods = methods_test, - p_threshold = 0.1, - top_ratio = 0.5, - combine = "freq", # c("union", "intersection", "freq") - freq_cutoff = 2, - verbose = TRUE -) - -selected_feats <- feat_sel$selected -selected_feats -# Optionally save the detailed method table -write.csv(feat_sel$method_table, file.path(OUT_DIR, "Feature_Selection_Methods.csv"), row.names = FALSE) - -prog@survival.var <- list(selected = selected_feats) - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 6. Train/validation split & task creation -# ------------------------------------------------------------------------------ -task_full <- surv_extract_task(prog)$select(selected_feats) -n <- task_full$nrow -train_idx <- sample(n, floor(0.7 * n)) -val_idx <- setdiff(seq_len(n), train_idx) -train_task <- task_full$clone()$filter(train_idx) -val_task <- task_full$clone()$filter(val_idx) -val_data <- as.data.frame(task_full$data())[val_idx, ] - -``` - -```{r} - -# ------------------------------------------------------------------------------ -# 7. Benchmarking using TWO methods: surv_run_algorithm_benchmark AND surv_benchmark_learners -# ------------------------------------------------------------------------------ -# Method A: surv_run_algorithm_benchmark (returns plot + table) -# 使用 surv_get_learner 包装,自动处理因子编码 -learners_list <- list( - surv_get_learner("surv.coxph", train_task), - surv_get_learner("surv.cv_glmnet", train_task), - surv_get_learner("surv.ranger", train_task) -) - -bmr1 <- surv_run_algorithm_benchmark(train_task, learners_list) -# Method B: surv_benchmark_learners (more detailed, includes tuning per learner) -bmr2 <- surv_benchmark_learners(train_task, learner_ids = c("surv.coxph", "surv.ranger"), - tune = FALSE) -bmr2_summary <- surv_summarize_benchmark(bmr2) -str(bmr2) -cat("Alternative benchmark summary:\n"); print(bmr2_summary) - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 8. Hyperparameter tuning & final training (surv_train_and_tune) -# ------------------------------------------------------------------------------ -best_id <- "surv.ranger" -tune <- surv_train_and_tune(train_task, best_id, tuning_budget = 25) -best_lrn <- tune$learner -cv_cindex <- tune$cv_performance -tune$tuning_result -cv_cindex -best_lrn=bmr2$surv.ranger$learner -str(best_lrn) - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 9. Model evaluation (surv_evaluate_model) -# ------------------------------------------------------------------------------ -train_perf <- surv_evaluate_model(best_lrn, train_task) -best_lrn$predict_type <- "distr" -train_perf_full <- surv_evaluate_model(best_lrn, train_task, - measures = list(msr("surv.cindex"), msr("surv.graf"))) -print(train_perf_full) - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 10. Optimal risk threshold using survminer::surv_cutpoint -# ------------------------------------------------------------------------------ -pred_train <- best_lrn$predict(train_task) -cut_df <- as.data.frame(train_task$data()) -cut_df$risk <- pred_train$crank -cut_res <- surv_cutpoint(cut_df, time = "time", event = "status", variables = "risk") -opt_cutoff <- cut_res$cutpoint$cutpoint -``` - -```{r} -# ------------------------------------------------------------------------------ -# 11. Risk KM curves: median, tertile, custom (using surv_plot_risk_km) -# ------------------------------------------------------------------------------ -km_median <- surv_plot_risk_km(best_lrn, train_task, "median",show_cutoff = T,risk_table = T) -km_median -train_cutoff <-get_cf(km_median) -train_cutoff -km_val_fixed <- surv_plot_risk_km(best_lrn, val_task, custom_cutoffs = train_cutoff) -km_val_fixed -km_tertile <- surv_plot_risk_km(best_lrn, train_task, "tertile") -km_tertile -train_cutoff <- get_cf(km_tertile) -train_cutoff -km_val_fixed <- surv_plot_risk_km(best_lrn, val_task, custom_cutoffs = train_cutoff) -km_val_fixed - -km_quartile <- surv_plot_risk_km(best_lrn, train_task, "quartile") -km_quartile -km_p_optimize <- surv_plot_risk_km(best_lrn, train_task, "p_optimize") -km_p_optimize -km_custom <- surv_plot_risk_km(best_lrn, val_task, custom_cutoffs = opt_cutoff) -km_custom - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 12. Subgroup forest plot (surv_plot_subgroup_forest) – requires categorical vars -# ------------------------------------------------------------------------------ -# Add new clinical subgroup feature dynamically -prog@survival.data$age_grp <- ifelse(prog@clean.data$age > 60, '>60', '<=60') -# Case A: Automatic detection via environment matching (Recommended) -forest_train <- surv_plot_subgroup_forest(best_lrn, train_task,prog = prog,c("sex", "age_grp")) -forest_val <- surv_plot_subgroup_forest(best_lrn, val_task, prog = prog,c("sex", "age_grp")) -``` - -```{r} -# ------------------------------------------------------------------------------ -# 13. Time‑dependent AUC (surv_plot_time_dependent_auc) & comparison -# ------------------------------------------------------------------------------ - auc_train <- surv_plot_time_dependent_auc(best_lrn, train_task) - auc_val <- surv_plot_time_dependent_auc(best_lrn, val_task) - auc_cmp <- surv_plot_comparison_auc(best_lrn, train_task, val_task) - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 14. Calibration curves (surv_plot_calibration & surv_plot_comparison_calibration) -# ------------------------------------------------------------------------------ - cal_train<- surv_plot_calibration(best_lrn, train_task, time_point = 900) - cal_train - cal_cmp <- surv_plot_comparison_calibration(best_lrn, train_task, val_task, time_point = 900) - cal_cmp - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 15. External validation (surv_predict_on_validation) -# ------------------------------------------------------------------------------ -val_res <- surv_predict_on_validation(best_lrn, val_data, train_task) -val_cindex <- val_res$prediction$score(msr("surv.cindex")) -``` - -```{r} -# ------------------------------------------------------------------------------ -# 16. Nomogram (surv_generate_nomogram) -# ------------------------------------------------------------------------------ - surv_generate_nomogram(train_task, head(selected_feats, 5), - time_points = c(90, 180, 365), time_unit = "days") - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 17. Feature stability analysis (surv_analyze_feature_stability) -# ------------------------------------------------------------------------------ -stab <- surv_analyze_feature_stability(train_task, "time", "status", - n_repeat = 20, alpha = 1) -print(stab$stability_index) -print(stab$plot) -``` - -```{r} -# ------------------------------------------------------------------------------ -# 18. Feature ablation analysis (surv_analyze_feature_ablation) -# ------------------------------------------------------------------------------ -abl <- surv_analyze_feature_ablation(train_task, best_id, selected_feats) - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 19. Model sensitivity analysis (surv_analyze_model_sensitivity) -# ------------------------------------------------------------------------------ -sens_sample <- surv_analyze_model_sensitivity(train_task, "surv.coxph", - analysis_type = "sample_size") -sens_censor <- surv_analyze_model_sensitivity(train_task, "surv.coxph", - analysis_type = "censoring") -``` - -```{r} -# ------------------------------------------------------------------------------ -# 20. Decision curve analysis (plot_dca_survival) -# ------------------------------------------------------------------------------ -# 1. 单个模型 -dca1 <- plot_dca_survival(list("Ranger" = best_lrn), val_task, eval_time = 200) -print(dca1$plot) -head(dca1$table) # 净收益表格 -dca1$summary # 统计量 - -dca2 <- plot_dca_survival(list("Cox" = bmr2$surv.coxph$learner, "Ranger" = bmr2$surv.ranger$learner), - thresholds = seq(0.01, 0.3, length.out = 50),ylim = c(-0.01,0.05), - val_task, eval_time = 200) -dca2 -``` - -```{r} -# ------------------------------------------------------------------------------ -# 21. SHAP explanation (surv_explain_model_shap) -# ------------------------------------------------------------------------------ -# ============================================================================ -# 方案 1:快速局部解释(3 个患者,10 个时间点,30 秒内完成) -# ============================================================================ -cat("\n[Case 1] LOCAL + quick (n_explain=3, n_timepoints=10)\n") - -res_local_quick <- surv_explain_shap( - learner = best_lrn, - task = val_task, - type = "local", - n_explain = 3, # 解释 3 个患者 - n_background = 10, # 背景 10 个 - n_timepoints = 3, # 只用 3 个时间点 - n_top_features = 3, - verbose = TRUE -) - -# Plot results -cat("SHAP bar plot (feature importance):\n") -print(res_local_quick$plots$bar_plot) -print(res_local_quick$plots$line_plot) - -surv_plot_shap_beeswarm( - res_local_quick, - top_n = 3, - method = "beeswarm" -) -``` - -```{r} -# ============================================================================ -# 方案 2:全局重要性(30 个患者聚合,快速版) -# ============================================================================ -cat("\n\n[Case 2] GLOBAL + fast (n_explain=30, n_timepoints=10)\n") - -res_global_fast <- surv_explain_shap( - learner = best_lrn, - task = val_task, - type = "global", - n_explain = 10, # 用 10 个患者聚合 - n_background = 10, - n_timepoints = 3, # 快速采样 - n_top_features = 3, - verbose = TRUE -) - -cat("SHAP bar plot:\n") -print(res_global_fast$plots$bar_plot) - -cat("\nBeeswarm plot (population-level SHAP contributions):\n") -surv_plot_shap_beeswarm( - res_global_fast, - time_point = NULL, # 平均所有时间点 - top_n = 6, - method = "beeswarm", - title = "Global SurvSHAP (population-level)" -) -``` - -```{r} -# ============================================================================ -# 方案 3:高精度(更多时间点,慢但准)— 可选 -# ============================================================================ -cat("\n\n[Case 3] LOCAL + precise (n_explain=5, n_timepoints=30)\n") -cat("This will take 2-5 minutes...\n") - -res_local_precise <- surv_explain_shap( - learner = best_lrn, - task = val_task, - type = "local", - n_explain = 5, - n_background = 50, - n_timepoints = 30, # 更多时间点 = 更光滑的曲线 - n_top_features = 6, - verbose = TRUE -) - -if (!is.null(res_local_precise$plots$line_plot)) { - cat("SHAP line plot with more time points:\n") - print(res_local_precise$plots$line_plot) -} -``` - -```{r} -# ============================================================================ -# 高级用法:访问 shap_long 自定义绘图 -# ============================================================================ -cat("\n\n[Advanced] Custom analysis on shap_long\n") - -shap_df <- res_local_quick$shap_long -cat(sprintf("Dimensions: %d rows, %d columns\n", nrow(shap_df), ncol(shap_df))) -cat("Columns:", names(shap_df), "\n") - -# 按观测分组查看 -cat("\nSHAP values per observation:\n") -by(shap_df, shap_df$observation, function(df) { - cat(sprintf("\nObservation %s:\n", df$observation[1])) - top_feats <- df %>% - group_by(feature) %>% - summarise(mean_shap = mean(abs(shap_value)), .groups = "drop") %>% - arrange(desc(mean_shap)) %>% - head(3) - print(top_feats) -}) -``` - -```{r} -# ============================================================================ -# 保存结果 -# ============================================================================ -cat("\n\n[Save Results]\n") - -# Save plots -dir.create("shap_plots", showWarnings = FALSE) - -ggplot2::ggsave( - "shap_plots/local_importance.png", - res_local_quick$plots$bar_plot, - width = 8, height = 6, dpi = 300 -) -cat("✓ Saved: shap_plots/local_importance.png\n") - -if (!is.null(res_local_quick$plots$line_plot)) { - ggplot2::ggsave( - "shap_plots/local_dynamics.png", - res_local_quick$plots$line_plot, - width = 8, height = 6, dpi = 300 - ) - cat("✓ Saved: shap_plots/local_dynamics.png\n") -} - -# Save shap_long as CSV for further analysis -readr::write_csv( - res_local_quick$shap_long, - "shap_plots/shap_values_local.csv" -) -cat("✓ Saved: shap_plots/shap_values_local.csv\n") - -cat("\n=== Complete ===\n") -``` - -```{r} -# ------------------------------------------------------------------------------ -# 22. Write back to PrognosiX and save final object -# ------------------------------------------------------------------------------ -prog@best.model <- list( - learner_id = best_id, learner = best_lrn, best_params = tune$best_params, - cv_cindex = cv_cindex, features = selected_feats, - cutoff = opt_cutoff, decision_type = "binary" -) -prog@subgroup.risk <- list(benchmark_table = bmr1$table, stability = stab, ablation = abl) -prog@best.model$train_cols <- train_task$feature_names -prog@split.data <- list(train_idx = train_idx, val_idx = val_idx) -str(prog@clean.data) -saveRDS(prog, file.path(OUT_DIR, "prog_obj_final.rds")) - -``` - -```{r} -# ------------------------------------------------------------------------------ -# 23. Deployment manager (New_Prog_Manager) and prediction dispatcher (Prog_deploy_dispatcher) -# ------------------------------------------------------------------------------ - -# 准备新数据(必须包含训练时使用的特征) -new_patients <- val_data -new_patients=new_patients[, prog@best.model$train_cols, drop = FALSE] -rownames(new_patients) <- paste0('patient_',1:nrow(new_patients)) -str(new_patients) -new_patients$age=as.numeric(new_patients$age) -str(new_patients) -# 方法一:直接预测风险分数 -risk_scores <- predict_prognosix(prog, new_patients) -print(risk_scores) - -# 方法二:预测风险分组(使用中位数切点) -pred_groups <- predict_risk_groups(prog, new_patients, cutoff_method = "median") -print(pred_groups) - -# 方法三:使用自定义切点(例如从训练集优化的阈值 opt_cutoff) -pred_custom <- predict_risk_groups(prog, new_patients, - cutoff_method = "custom", - custom_cutoffs = 38.28) -print(pred_custom) - -# 方法四:使用部署管理器(与 Shiny 应用兼容) -manager <- New_Prog_Manager(prog) -manager_preds <- manager$prog_predict(new_patients, - cutoff_method = "custom", - custom_cutoffs = 38.28) -print(manager_preds) -``` - -```{r} -# ------------------------------------------------------------------------------ -# 27. Launch interactive app (if interactive session) – launch_prog_deploy_app -# ------------------------------------------------------------------------------ -#默认 -launch_prog_deploy_app(manager, title = "Full Coverage Prognosis Terminal") -#默认进阶 -# 选择主题(可选,默认已经是高级灰) -use_app_theme_grey() # 或者 use_app_theme("grey") -# 自定义文本(可选,默认已包含 Icare) -set_prog_app_text( - title = "Lung Cancer Survival Predictor", - citation_text = "Icare R package v1.0 – Trained on VA lung cancer data" -) -# 启动应用 -manager <- New_Prog_Manager(prog) -launch_prog_deploy_app(manager) -``` - -```{r} -#进阶 -# 3. (Optional) Define custom text for the Shiny app -# All keys are optional; only the ones you provide will override defaults. -set_prog_app_text( - title = "Lung Cancer Survival Predictor", - prediction_portal = "Predict Risk", - model_info = "Model Details", - documentation = "Help", - overview_title = "About This Tool", - abstract_text = "This model predicts 1‑year mortality using clinical variables (cell type, Karnofsky score, diagnosis time).", - citation_text = "Veteran's Administration Lung Cancer Trial (Kalbfleisch & Prentice, 1980)", - calculate_button = "COMPUTE RISK", - risk_group_heading = "Predicted Risk Level", - sample_table_heading = "Patient Predictions", - export_csv_button = "Save Results", - algorithm_label = "Algorithm", - cv_cindex_label = "Performance (C-index)", - training_n_label = "Training Cohort", - events_label = "Deaths", - selected_features_title = "Predictors Used", - variable_glossary_title = "Variable Definitions", - feature_col = "Variable", - description_col = "Description", - units_col = "Unit", - median_choice = "Split by median → High/Low risk", - tertile_choice = "Split by tertiles → Low/Medium/High risk" -) - -# 4. (Optional) Define custom color theme -set_prog_app_theme( - primary_color = "#2c7fb8", # main blue - background_color = "#f0f4f8", # light grey background - sidebar_color = "#e9ecef", # lighter sidebar - box_background = "#ffffff", # white boxes - text_color = "#d9534f", # dark text - label_color = "#2c7fb8", - run_button_gradient_start = "#2c7fb8", - run_button_gradient_end = "#1d4e6e", - risk_high_color = "#d9534f", # soft red - risk_medium_color = "#f0ad4e", # orange - risk_low_color = "#5cb85c", # green - table_header_color = "#2c7fb8", - table_row_hover_color = "#dee2e6", - font_family = "Arial, sans-serif", - font_size_base = 14 -) - -# 5. Create the deployment manager -manager <- New_Prog_Manager(prog) - -# 6. Launch the Shiny app (now fully customized) - - launch_prog_deploy_app( - prog_manager = manager, - title = NULL, # will use the custom title from set_prog_app_text - var_dict = data.frame( - Feature = c("celltype", "karno", "diagtime"), - Description = c("Histological cell type", "Karnofsky performance score", "Time from diagnosis to treatment (months)"), - Units = c("factor", "0-100", "days") - ), - project_info = list( - abstract = "Prognostic model derived from the VA lung cancer trial (n=137).", - citation = "Kalbfleisch JD, Prentice RL. The Statistical Analysis of Failure Time Data. 1980." - ) - ) -``` - -```{r} - # ------------------------------------------------------------------------------ -# Final summary -# ------------------------------------------------------------------------------ -cat("\n", strrep("=", 70), "\n") -cat("ALL FUNCTIONS HAVE BEEN EXECUTED SUCCESSFULLY.\n") -cat("Output directory:", OUT_DIR, "\n") -cat("Best model:", best_id, " | CV C-index:", round(cv_cindex,4), - " | Validation C-index:", round(val_cindex,4), "\n") -cat("Optimal cutoff:", round(opt_cutoff,4), "\n") -cat(strrep("=", 70), "\n") -``` diff --git a/README.md b/README.md new file mode 100644 index 0000000..ffd1c5e --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# icare Quarto Book + +This directory contains the source of the English tutorial for [`YuLab-SMU/icare`](https://github.com/YuLab-SMU/icare), a modular R framework for clinical statistics, machine learning, unsupervised subtyping, and prognostic modeling. + +The book is source-first: Quarto pages, tutorial data, branding assets, and publication-ready static figures are versioned; generated HTML and execution caches are not. + +## Contents + +- `index.qmd`: package overview, authors, scope, installation, and citation +- `prerequisites.qmd`: software setup, object flow, data contracts, and reproducibility guidance +- `module1-*.qmd`: `Stat` data cleaning and exploratory analysis +- `module2-*.qmd`: `Train_Model` classification modeling +- `module3-*.qmd`: `Subtyping` unsupervised discovery and validation +- `module4-*.qmd`: `PrognosiX` survival and prognostic modeling +- `image/`: module-level PDF figures and four composite manuscript figures +- `data/`: tutorial data used by the survival workflow +- `.github/workflows/quarto-pages.yml`: PR build check and deployment from `docs` + +## Local rendering + +Install Quarto, R, and the package dependencies described in `prerequisites.qmd`, then run: + +```bash +quarto render +``` + +The rendered site is written to `_book/`. That directory is ignored because GitHub Actions rebuilds it from source. + +## Contribution workflow + +1. Branch from the current `docs` branch. +2. Edit the smallest relevant `.qmd`, asset, data file, or workflow file. +3. Run `quarto inspect` and, when dependencies are available, `quarto render`. +4. Check that plots appear below their generating chunks and that all links and figure references resolve. +5. Open a pull request targeting `docs` and describe the scientific or instructional reason for the change. + +For package behavior, function signatures, or defects, use the main [`icare` issue tracker](https://github.com/YuLab-SMU/icare/issues). See `CONTRIBUTING.md` for book-specific review checks. + +## License and citation + +`icare` is licensed under GPL-3. Please cite the package as described on the book home page and in the official repository. diff --git a/_quarto.yml b/_quarto.yml index af46362..ba00f55 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -1,27 +1,65 @@ project: type: book + output-dir: _book + resources: + - image/** + - assets/** book: - title: "ICARE Guide" - author: "Huaichao Luo" - date: "2026/6/2" + title: "icare: Intelligent ClinlAbomics Research Expedition" + subtitle: "Clinical and Omics Analysis from Data Cleaning to Deployment" + author: + - name: Huaichao Luo + - name: Fei Long + - name: Hongyan Lin + - name: Jian Huang + - name: Guangchuang Yu + date: last-modified + repo-url: https://github.com/leonardfei/Icare_test + repo-branch: docs + repo-actions: [edit, issue] chapters: - index.qmd - - intro.qmd - - Module1.qmd - - Module2.qmd - - Module3.qmd - - Module4.qmd - - summary.qmd - - references.qmd - -bibliography: references.bib + - prerequisites.qmd + - part: "Module 1: Data Cleaning and Exploration" + chapters: + - module1-quickstart.qmd + - module1-advanced.qmd + - part: "Module 2: Classification Modeling" + chapters: + - module2-quickstart.qmd + - module2-advanced.qmd + - part: "Module 3: Unsupervised Subtyping" + chapters: + - module3-quickstart.qmd + - module3-advanced.qmd + - part: "Module 4: Survival and Prognosis" + chapters: + - module4-quickstart.qmd + - module4-advanced.qmd + - module4-pro.qmd + search: true + page-footer: + left: "icare 1.0.1 · GPL-3" + right: "Source: YuLab-SMU/icare" format: html: theme: cosmo - pdf: - documentclass: scrreprt + toc: true + toc-depth: 3 + number-sections: true + code-fold: true + code-tools: true + code-copy: true + code-overflow: wrap + html-math-method: katex -editor: visual +execute: + enabled: true + freeze: auto + cache: true + error: false +language: + title-block-published: "Updated" diff --git a/assets/icare-logo.png b/assets/icare-logo.png new file mode 100644 index 0000000..d7c64f5 Binary files /dev/null and b/assets/icare-logo.png differ diff --git a/data/PMID37633276_DIA_plasmaproomic.xlsx b/data/PMID37633276_DIA_plasmaproomic.xlsx new file mode 100644 index 0000000..8fd7044 Binary files /dev/null and b/data/PMID37633276_DIA_plasmaproomic.xlsx differ diff --git a/index.qmd b/index.qmd index 2062215..2a2bbf6 100644 --- a/index.qmd +++ b/index.qmd @@ -1,5 +1,70 @@ -# Preface {.unnumbered} +--- +title: "icare" +subtitle: "Intelligent ClinlAbomics Research Expedition" +page-layout: full +--- -This is a Quarto book. +![](assets/icare-logo.png){fig-alt="icare package logo" width=180} -To learn more about Quarto books visit . +## About icare + +`icare` is a modular R framework for clinical statistics and clinlabomics research. It connects data quality control, missing-data handling, feature selection, supervised learning, unsupervised patient subtyping, and survival modeling in one reproducible workflow. The package also provides model interpretation, nomograms, decision-curve analysis, and interactive deployment tools. + +The framework is built around four S4 analysis objects. Each object records both the current data and the fitted workflow state—including imputation values, scaling parameters, selected features, and trained models—so that the same transformations can be replayed consistently for external cohorts or new patients. + +```{mermaid} +flowchart LR + A[Clinical or omics data] --> B[CreateStatObject] + B --> C[Stat] + C --> D[Train_Model] + C --> E[Subtyping] + C --> F[PrognosiX] + D --> G[ModelDeployment] + E --> H[New_Sub_Manager] + F --> I[New_Prog_Manager] +``` + +## What This Book Covers + +| Module | Core object | Main tasks | +|---|---|---| +| 1. Data cleaning and exploration | `Stat` | Type detection, missing-value imputation, outlier handling, encoding, normalization, differential features, visualization, and Table 1 | +| 2. Classification modeling | `Train_Model` | Feature selection, leakage-aware data splitting, model benchmarking, ensembles, tuning, explanation, clinical thresholds, and NRI/IDI | +| 3. Unsupervised subtyping | `Subtyping` | K-means, NMF, latent profile analysis, cluster validation and agreement, marker discovery, t-SNE/UMAP, and subtype deployment | +| 4. Survival and prognosis | `PrognosiX` | Cox and machine-learning survival models, feature selection, risk stratification, validation, nomograms, calibration, decision curves, and deployment | + +Each module contains a concise quick-start chapter and a more complete advanced workflow. Module 4 also includes an extended PrognosiX chapter covering competing risks, repeated cross-validation, time-dependent ROC comparison, multi-time calibration, Bayesian tuning, and external-validation diagnostics. Code is divided into small executable chunks, and important results and figures appear immediately below the chunk that creates them. + +## Authors + +The `icare` package is authored by Huaichao Luo, Fei Long, Hongyan Lin, Jian Huang, and Guangchuang Yu. Huaichao Luo is the package maintainer (`luohc@uestc.edu.cn`). Package development and issue tracking take place in the [YuLab-SMU/icare repository](https://github.com/YuLab-SMU/icare). + +## Installation + +Install the current development version from GitHub: + +```{r} +#| eval: false +install.packages("remotes") +remotes::install_github("YuLab-SMU/icare", dependencies = TRUE) +``` + +Some workflows use Bioconductor packages. If `ComplexHeatmap` is unavailable, install it separately: + +```{r} +#| eval: false +install.packages("BiocManager") +BiocManager::install("ComplexHeatmap") +``` + +## How to Read the Tutorial + +Start with [Before You Begin](prerequisites.qmd), then choose a quick-start chapter for the shortest complete workflow. Move to the corresponding advanced chapter when you need broader model comparison, publication-oriented figures, clinical interpretation, or deployment. Replace the example paths, column names, outcome definitions, and analysis settings before applying any workflow to a new study. + +## Citation and License + +When using the package, cite: + +> Luo H, Long F, Lin H, Huang J, Yu G. *icare: Intelligent ClinlAbomics Research Expedition*. R package version 1.0.1. + +`icare` is distributed under the GPL-3 license. This tutorial follows the active development version of the official repository; consult the repository history and `NEWS.md` when exact version reproducibility is required. diff --git a/intro.qmd b/intro.qmd deleted file mode 100644 index efcf172..0000000 --- a/intro.qmd +++ /dev/null @@ -1,5 +0,0 @@ -# Introduction - -This is a book created from markdown and executable code. - -See @knuth84 for additional discussion of literate programming. diff --git a/module1-advanced.qmd b/module1-advanced.qmd new file mode 100644 index 0000000..b78a25f --- /dev/null +++ b/module1-advanced.qmd @@ -0,0 +1,582 @@ +# Module 1: Data Cleaning and Exploration — Advanced + +The advanced `Stat` workflow covers raw-data diagnostics, automatic and manual type handling, missing-value imputation, outlier treatment, one-hot encoding, normalization, grouped plots, correlation heatmaps, PCA, differential features, ROC analysis, radar plots, and Table 1. Together, these steps implement the package's clinical-statistics and exploratory-analysis layer before downstream prediction or subtyping. + +## Key Configuration + +Set `GROUP_COL`, `OUTPUT_DIR`, and `N_TOP_FEATURES` in the `CONFIG` section. Review every inferred data type and retain a record of imputation and scaling decisions. Outputs are organized into subdirectories so that quality-control results, statistical summaries, and publication figures can be audited separately. + +## Step-by-step Workflow + + + +The workflow is divided into short stages. Each note explains the purpose, key checks, and interpretation limits. Generated plots and tables appear directly below their code chunk. + +### Environment and Global Setup + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module1-advanced-01 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# ============================================================================= +# icare Package Vignette — Module 1: Data Cleaning & Exploratory Analysis +# ADVANCED / PUBLICATION EDITION +# ============================================================================= +# Audience : Advanced users preparing figures/tables for a manuscript, or +# anyone who wants to see every configurable option in the +# Module 1 pipeline. +# What this script does, end to end: +```` + +### 1 Load raw data and take a demonstration subset + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module1-advanced-02 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1) Load raw data and take a demonstration subset +```` + +### 2 Wrap the data in a `StatObject` (icare's container for the whole + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module1-advanced-03 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2) Wrap the data in a `StatObject` (icare's container for the whole +# cleaning/analysis history) +```` + +### 3 Explore the raw data (missingness, variable types, descriptives) + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module1-advanced-04 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3) Explore the raw data (missingness, variable types, descriptives) +```` + +### 4 Clean it (type conversion -> imputation -> outlier handling -> + +This section preprocesses the data. Review missingness, outlier handling, and normalization before accepting the defaults. + +````{r} +#| label: module1-advanced-05 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4) Clean it (type conversion -> imputation -> outlier handling -> +# one-hot encoding -> normalization) +```` + +### 5 Produce publication-style figures (grouped distributions, correlation + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module1-advanced-06 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5) Produce publication-style figures (grouped distributions, correlation +# heatmap, PCA) +```` + +### 6 Run a differential-feature test between groups and visualize the + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module1-advanced-07 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6) Run a differential-feature test between groups and visualize the +# results (AUC/p plot, heatmap, ROC, radar, boxplots) +```` + +### 7 Build a baseline characteristics ("Table 1") and export everything + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module1-advanced-08 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7) Build a baseline characteristics ("Table 1") and export everything +# +# All `save_dir` arguments below point into sub-folders of OUTPUT_DIR so a +# reviewer can find every figure the script produces without hunting through +# the working directory. +options(warn = -1) +# ============================================================================= +rm(list = ls()) +library(icare) +#devtools::document("../../../../icare-git/") +#devtools::check("../../../../icare-git/") +#devtools::install("../../../../icare-git/") +# --------------------------------------------------------------------------- +```` + +### 0 CONFIG — the only section you should need to edit for a new dataset + +This section defines seeds, output paths, and dependencies. Update these paths and key parameters first when using new data. + +````{r} +#| label: module1-advanced-09 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 0. CONFIG — the only section you should need to edit for a new dataset +# --------------------------------------------------------------------------- +GROUP_COL <- "group" # outcome / group column +OUTPUT_DIR <- "./Module1_Advanced_Output" # all figures/tables go here +N_TOP_FEATURES <- 10 # how many DEGs to carry into plots + +dir.create(OUTPUT_DIR, showWarnings = FALSE, recursive = TRUE) +sub_dir <- function(...) { + d <- file.path(OUTPUT_DIR, ...) + dir.create(d, showWarnings = FALSE, recursive = TRUE) + d +} + +# ============================================================================= +```` + +### 1 Load Data + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module1-advanced-10 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Load Data +# ============================================================================= +# stringsAsFactors = FALSE keeps everything as character/numeric for now; +library(readxl) +raw_dis=as.data.frame(read_excel("data/PMID37633276_DIA_plasmaproomic.xlsx",sheet = 3)) +raw_dis=raw_dis[!grepl(x = raw_dis$`Case ID`,pattern = "^KC"),] +dput(colnames(raw_dis)) +mat=raw_dis[,c( "White blood cell count", + "Lymphocytes%", "Monocytes%", "Neutrophilic granulocyte%", "Eosinophil%", + "Basophil%", "Lymphocytes count", "Monocytes count", "Neutrophilic granulocyte count", + "Eosinophil count", "Basophil count", "Red blood cell count", + "Hemoglobin", "Hematocrit", "Mean red blood cell volume", "Mean cell hemoglobin", + "Mean corpuscular hemoglobin concentration", "Red blood cell distribution width CV", + "Red blood cell distribution width SD", "Platelet count", "Mean platelet volume", + "PCT", "Platelet volume distribution width")] +index=grepl(x = raw_dis$`Case ID`,pattern = "^HC") +inf=raw_dis[,c("Case ID", "Sample type", "Plasma proteome ID", "Tissue proteome ID", + "Gender", "Age at diagnosis", "Tobacco smoking history", "Drinking history", + "Vital status", "Days to last followup", "Days until death", + "Combined days to last followup or death", "Progressive-free survival_Status", + "Progressive-free survival_Months", "Tumor location", "Tumor size (cm)", + "T-category", "Lymph node involvement", "Distant metastasis", + "TNM Stage", "Grade", "Morphology")] +inf$group=ifelse(index,'0','1') +mat$group=inf$group +mat=as.matrix(mat) +storage.mode(mat) <- "numeric" + +rownames(mat)=inf$`Case ID` +rownames(inf)=inf$`Case ID` +mat=as.data.frame(mat) +mat$age=inf$`Age at diagnosis` +mat$sex=inf$Gender +# ============================================================================= +```` + +### 2 Create the Stat Object + +This section creates the icare analysis object that stores data, metadata, and workflow state for all later steps. + +````{r} +#| label: module1-advanced-11 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Create the Stat Object +# ============================================================================= +# CreateStatObject() is the entry point of icare: it stores the raw data, +# remembers which column is the grouping/outcome variable, and will +# accumulate every cleaning step you apply to it (accessible via +# stat_obj@clean.data once cleaning is done). +# na.action = "allow" means missing values are kept for now; we handle them +# explicitly in the cleaning section (step 4.2) rather than dropping rows here. +stat_obj <- CreateStatObject( + raw.data = mat,info.data = inf, + group_col = "group", + na.action = "allow" +) +cat("Stat object created.\n") + +# ============================================================================= +```` + +### 3 Pre-cleaning Exploratory Analysis + +This section preprocesses the data. Review missingness, outlier handling, and normalization before accepting the defaults. + +````{r} +#| label: module1-advanced-12 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Pre-cleaning Exploratory Analysis +# ============================================================================= +## 3.1 Missing-data visualization — shows which variables/rows are most +## affected, which should guide your imputation strategy in step 4.2 +stat_obj <- state_plot_missing_data( + stat_obj, + save_plots = TRUE, + save_data = TRUE, + save_dir = sub_dir("01_exploration", "missing_data") +) + +## 3.2 Variable type diagnosis — auto-detects numeric vs. categorical columns. +## max_unique_values = 5 means any column with <= 5 unique values is treated +## as categorical even if it is stored as numbers (e.g. a 0/1/2 coded score). +stat_obj <- stat_diagnose_variable_type(stat_obj, max_unique_values = 5) +cat("Detected variable types:\n"); print(stat_obj@variable.types) + +## 3.3 Descriptive statistics on the RAW data, before any cleaning. +## Keeping a "before" summary alongside the "after" one (produced later) is +## good practice for a methods section: it lets you report what changed. +stat_obj <- stat_compute_descriptive(stat_obj, count_feature = TRUE) + +# ============================================================================= +```` + +### 4 Data Cleaning Pipeline + +This section preprocesses the data. Review missingness, outlier handling, and normalization before accepting the defaults. + +````{r} +#| label: module1-advanced-13 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Data Cleaning Pipeline +# ============================================================================= +## 4.1 Convert columns to their diagnosed types (numeric / factor) +stat_obj <- stat_convert_variables(stat_obj, save_data = FALSE) + +## 4.2 Impute missing values. +## "median_mode" = median for numeric columns, mode for categorical ones — +## a simple, fast, and reasonably robust default. For datasets with more +## complex/structured missingness, consider impute_method = "mice" instead +## (see the alternative Module 1 script for a worked example). +stat_obj <- stat_miss_processed( + stat_obj, + impute_method = "mice", + return_imputation_info = TRUE, + save_data = FALSE +) + +## 4.3 Detect outliers using the IQR rule (values beyond 1.5x the +## interquartile range from Q1/Q3 are flagged, the usual Tukey convention). +stat_obj <- stat_detect_and_mark_outliers( + stat_obj, + method = "iqr", + threshold = 1.5, + save_data = FALSE +) + +## 4.4 Handle the flagged outliers by replacing them with the column median +## rather than deleting rows, so no samples are lost. +stat_obj <- stat_handle_outliers( + stat_obj, + method = "impute", + impute_value = "median", + save_data = FALSE +) + +## 4.5 One-hot encode categorical variables that have more than 2 levels +## (binary variables are left as single 0/1 columns to avoid redundancy). +stat_obj <- stat_onehot_encode(stat_obj, save_data = FALSE) + +## 4.6 Normalize numeric features. method = "auto" lets icare pick an +## appropriate transform per-column (e.g. z-score vs. a skew-correcting +## transform) based on each variable's distribution. +stat_obj <- stat_normalize_process(stat_obj, method = "auto", save_data = FALSE) + +cat("\nCleaning completed. Clean data dimensions:", + nrow(stat_obj@clean.data), "x", ncol(stat_obj@clean.data), "\n") + +# ============================================================================= +```` + +### 5 Publication-Quality Visualizations + +This section creates exploratory and reporting figures. Plots appear below the code and are also saved as vector PDFs for publication. + +````{r} +#| label: module1-advanced-14 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Publication-Quality Visualizations +# ============================================================================= +viz_dir <- sub_dir("02_visualizations") + +## 5.1 Grouped box + violin plots for the first 6 numeric variables, each +## annotated with a Wilcoxon test p-value between groups. Swap `features` +## for any variable list you want to feature in a figure. +numeric_vars <- names(stat_obj@clean.data)[sapply(stat_obj@clean.data, is.numeric)] +my_colors <- c("0" = "#404040", "1" = "#ca0020") +PlotGroupedDistribution( + object = stat_obj, + features = head(numeric_vars, 6), + group_col = "group", + group_colors = my_colors, + test = "wilcox.test", + palette_name = "Set1", height = 8,width = 10, + ncol = 3, + save_dir = viz_dir, + save_plot = TRUE +) +unique(stat_obj@clean.data$group) +## 5.2 Correlation heatmap for a clinically meaningful feature panel +## (here: red-cell indices). Replace `features` with your variables of interest. +PlotCorrelationHeatmap( + object = stat_obj,insig = "blank",pch = 3, + features = numeric_vars[-24], + color_scheme = "gradient", # alternative: "brew" + save_dir = viz_dir, + save_plot = TRUE +) + +## 5.3 PCA scatter plot coloured by the outcome group, with 95% confidence +## ellipses — a standard "does the outcome separate along the main axes of +## variation" sanity check before modeling. +my_colors <- c("0" = "#404040", "1" = "#ca0020") +PlotPCA( + object = stat_obj, + color_by = "group", + group_colors = my_colors, + pcs = c(1, 2), + ellipse = TRUE, + palette_name = "Royal1", + save_dir = viz_dir, + save_plot = TRUE +) + +# ============================================================================= +```` + +### 6 Additional Descriptive Visualizations + +This section creates exploratory and reporting figures. Plots appear below the code and are also saved as vector PDFs for publication. + +````{r} +#| label: module1-advanced-15 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6. Additional Descriptive Visualizations +# ============================================================================= +## 6.1 Bar plots for every categorical variable +stat_obj <- plot_categorical_descriptive(stat_obj, save_plots = TRUE, save_dir = viz_dir) + +## 6.2 Violin plots for every numeric variable (one plot per variable) +my_colors <- c("0" = "#404040", "1" = "#ca0020") +stat_obj <- plot_numeric_descriptive( + stat_obj, plot_type = "violin", vars_per_plot = 1,group_col = 'group',group_colors = my_colors, + save_plots = TRUE, save_dir = viz_dir +) + +## 6.3 Ridge (density) plots — an alternative view of the same numeric +## variables, useful when distributions are multi-modal. +library(ggridges) +stat_obj <- plot_numeric_descriptive( + stat_obj, plot_type = "ridge", vars_per_plot = 1, + save_plots = TRUE, save_dir = viz_dir +) + +# ============================================================================= +```` + +### 7 Differential Feature Analysis (Wilcoxon Test) + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module1-advanced-16 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7. Differential Feature Analysis (Wilcoxon Test) +# ============================================================================= +deg_dir <- sub_dir("03_differential_analysis") +stat_obj <- stat_var_feature(stat_obj, p_threshold = 0.05, logfc_threshold = 0.1,save_data = TRUE) +deg_result <- ExtractLastTestSig(stat_obj) +# Standardize the "feature name" column (some downstream plotting functions +# expect a column literally called `feature`). +deg_result$feature <- deg_result$id + +# Rank features by adjusted p-value and keep the top N for downstream plots — +# this replaces any ad hoc/undefined feature list with an explicit, reproducible one. +top_ids <- head(deg_result$id[order(deg_result$p.adjust)], N_TOP_FEATURES) + +# ============================================================================= +```` + +### 8 Differential-Feature Visualizations + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module1-advanced-17 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8. Differential-Feature Visualizations +# ============================================================================= +## 8.1 AUC vs. p-value scatter — flags features that are both statistically +## significant AND discriminative (AUC far from 0.5). +PlotAUCPval( + deg_df = deg_result, + mat_test = stat_obj@clean.data, + group_col = GROUP_COL,base_size = 8,text_repel_size = 2, + auc_thresh = 0.55, + p_thresh = 0.05, + save_dir = deg_dir, + save_plot = TRUE +) + +## 8.2 Heatmap of the top differential features across samples +# Build the top annotation (assuming rownames(mat) contains sample IDs) +top_anno <- stat_obj@info.data +top_anno <-top_anno [,c('Gender','Age at diagnosis')] +# Custom color palette +custom_cols <- list( + Group= c("0" = "#404040", "1" = "#ca0020"), + Gender= c( Female= "#018571", Male = "#a6611a"), + `Age at diagnosis`= circlize::colorRamp2(c(40, 55, 70), c("#edf8b1", "#7fcdbb", "#2c7fb8")) +) +PlotFeatureHeatmap( + object = stat_obj, + features = top_ids, + top_annotation = top_anno, + ann_colors = custom_cols, + cluster_rows = TRUE, + show_rownames = TRUE, + save_dir = deg_dir, + color_palette = c("lightgray", "#7B1FA2", "black", "gold") , + save_plot = TRUE +) + +## 8.3 ROC curves for the top differential features (per-feature discrimination) +library(pROC) +stat_obj <- VarFeature_ROC(stat_obj, data_type = "clean", save_dir = deg_dir, save_plot = TRUE, + palette_name = 'Paired',base_size = 8) + +## 8.4 Radar chart summarizing mean expression shifts between groups +stat_obj <- VarFeature_radarchart(stat_obj, save_dir = deg_dir, save_plot = TRUE,drop_stable = F,base_size = 6, + sort_by = 'pvalue',plot_width = 8,plot_height = 8,title = '') + +## 8.5 Boxplots for the top 3 differential features (raw/clean scale) +p_box <- PlotDegBoxplot( + deg_results = deg_result, + expr_data = stat_obj@clean.data, + group_col = GROUP_COL, + top_n = 5, + save_plot = TRUE, + save_dir = deg_dir +) + +# ============================================================================= +```` + +### 9 Reporting & Result Export + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module1-advanced-18 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 9. Reporting & Result Export +# ============================================================================= +## 9.1 Baseline characteristics table ("Table 1" for a manuscript), written +## to a Word document for easy copy-paste into a submission. +stat_obj <- stat_gaze_analysis(stat_obj, save_word = TRUE, save_dir = OUTPUT_DIR) +cat("\nBaseline table generated.\n") +if (!is.null(stat_obj@baseline.table)) print(stat_obj@baseline.table) + +## 9.2 Sanity check: replay the exact same cleaning pipeline on a fresh +## sample of data, to confirm the pipeline generalizes beyond the training rows. +set.seed(123) +new_data <- mat[sample(seq_len(nrow(mat)), 30), ] +processed_new <- process_new_data(stat_object = stat_obj, new_data = new_data, save_data = FALSE) +cat("\nNew data processed. Dimensions:", nrow(processed_new), "x", ncol(processed_new), "\n") + +## 9.3 Extract the final cleaned dataset for use outside icare if needed +final_clean <- ExtractCleanData(stat_obj) +cat("\nFinal clean dataset dimensions:", nrow(final_clean), "x", ncol(final_clean), "\n") +write.csv(final_clean, file.path(OUTPUT_DIR, "clean_data_final.csv"), row.names = FALSE) + +## 9.4 Save the Stat object itself — Module 2 (modeling) and Module 3 +## (subtyping) both load this file directly via readRDS("stat_obj.rds"), +## so it is intentionally saved at the project root rather than inside +## OUTPUT_DIR. +saveRDS(stat_obj, file = "stat_obj.rds") + +cat("\n========================================\n") +cat("Module 1 (advanced) pipeline finished successfully!\n") +cat("All figures/tables saved under:", OUTPUT_DIR, "\n") +cat("========================================\n") +```` diff --git a/module1-quickstart.qmd b/module1-quickstart.qmd new file mode 100644 index 0000000..aa7cf65 --- /dev/null +++ b/module1-quickstart.qmd @@ -0,0 +1,227 @@ +# Module 1: Data Cleaning and Exploration — Quick Start + +This chapter introduces the official `Stat` workflow: import an Excel cohort, create an object with `CreateStatObject()`, inspect variable types and data quality, clean and normalize the predictors, visualize group structure, test group differences, and create a publication-oriented Table 1. The saved `stat_obj.rds` retains the processed data and transformation state for Modules 2 and 3. + +## When to Use This Chapter + +Use this chapter for a reproducible first pass through clinical or omics data. Confirm the inferred variable types and missing-data assumptions before accepting automated cleaning. Use the advanced chapter when the study requires comprehensive diagnostics, explicit outlier handling, differential-feature analysis, or manuscript figures. + +## Step-by-step Workflow + + + +The workflow is divided into short stages. Each note explains the purpose, key checks, and interpretation limits. Generated plots and tables appear directly below their code chunk. + +### Environment and Global Setup + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module1-quickstart-01 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# ============================================================================= +# icare Package Vignette — Module 1: Data Cleaning & Exploratory Analysis +# QUICK-START EDITION +# ============================================================================= +# Audience : First-time users, or anyone who wants a working, minimal +# analysis in a few minutes without touching every option. +# This script covers the core workflow only: +# load data -> create a StatObject -> clean it -> look at one or two +# summary plots -> run a group comparison -> get a baseline table. +# +# Looking for every option, publication-ready figures, or more diagnostics? +# See "01_module1_data_cleaning_ADVANCED.R" instead. +options(warn = -1) +# ============================================================================= +rm(list = ls()) +library(icare) +# --------------------------------------------------------------------------- +```` + +### 1 Load the data + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module1-quickstart-02 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Load the data +# --------------------------------------------------------------------------- +library(readxl) +raw_dis=as.data.frame(read_excel("data/PMID37633276_DIA_plasmaproomic.xlsx",sheet = 3)) +raw_dis=raw_dis[!grepl(x = raw_dis$`Case ID`,pattern = "^KC"),] +dput(colnames(raw_dis)) +mat=raw_dis[,c( "White blood cell count", + "Lymphocytes%", "Monocytes%", "Neutrophilic granulocyte%", "Eosinophil%", + "Basophil%", "Lymphocytes count", "Monocytes count", "Neutrophilic granulocyte count", + "Eosinophil count", "Basophil count", "Red blood cell count", + "Hemoglobin", "Hematocrit", "Mean red blood cell volume", "Mean cell hemoglobin", + "Mean corpuscular hemoglobin concentration", "Red blood cell distribution width CV", + "Red blood cell distribution width SD", "Platelet count", "Mean platelet volume", + "PCT", "Platelet volume distribution width")] +index=grepl(x = raw_dis$`Case ID`,pattern = "^HC") +inf=raw_dis[,c("Case ID", "Sample type", "Plasma proteome ID", "Tissue proteome ID", + "Gender", "Age at diagnosis", "Tobacco smoking history", "Drinking history", + "Vital status", "Days to last followup", "Days until death", + "Combined days to last followup or death", "Progressive-free survival_Status", + "Progressive-free survival_Months", "Tumor location", "Tumor size (cm)", + "T-category", "Lymph node involvement", "Distant metastasis", + "TNM Stage", "Grade", "Morphology")] +inf$group=ifelse(index,'0','1') +mat$group=inf$group +mat=as.matrix(mat) +storage.mode(mat) <- "numeric" + +rownames(mat)=inf$`Case ID` +rownames(inf)=inf$`Case ID` +# --------------------------------------------------------------------------- +```` + +### 2 Create the Stat object + +This section creates the icare analysis object that stores data, metadata, and workflow state for all later steps. + +````{r} +#| label: module1-quickstart-03 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Create the Stat object +# --------------------------------------------------------------------------- +# This is the container icare uses to track your data through cleaning. +# group_col tells icare which column is the outcome you want to compare groups on. +stat_obj <- CreateStatObject( + raw.data = mat,info.data = inf, + group_col = "group", + na.action = "allow" +) + +# --------------------------------------------------------------------------- +```` + +### 3 Clean the data (one line per step, sensible defaults) + +This section preprocesses the data. Review missingness, outlier handling, and normalization before accepting the defaults. + +````{r} +#| label: module1-quickstart-04 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Clean the data (one line per step, sensible defaults) +# --------------------------------------------------------------------------- +stat_obj <- stat_diagnose_variable_type(stat_obj) # detect numeric vs. categorical +stat_obj <- stat_convert_variables(stat_obj) # apply those types +stat_obj <- stat_miss_processed(stat_obj, impute_method = "median_mode") # fill missing values +stat_obj <- stat_detect_and_mark_outliers(stat_obj, method = "iqr") # flag outliers +stat_obj <- stat_handle_outliers(stat_obj, method = "impute", impute_value = "median") # fix them +stat_obj <- stat_onehot_encode(stat_obj) # encode categorical variables +stat_obj <- stat_normalize_process(stat_obj, method = "auto") # normalize numeric variables + +cat("Clean data ready:", nrow(stat_obj@clean.data), "rows x", + ncol(stat_obj@clean.data), "columns\n") + +# --------------------------------------------------------------------------- +```` + +### 4 Two quick summary plots + +This section creates exploratory and reporting figures. Plots appear below the code and are also saved as vector PDFs for publication. + +````{r} +#| label: module1-quickstart-05 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Two quick summary plots +# --------------------------------------------------------------------------- +# A) How do the groups differ across a few key numeric variables? +numeric_vars <- names(stat_obj@clean.data)[sapply(stat_obj@clean.data, is.numeric)] +PlotGroupedDistribution( + object = stat_obj, + features = head(numeric_vars, 6), + group_col = "group", + test = "wilcox.test", + save_plot = TRUE +) + +# B) Do the two groups separate overall (PCA)? +PlotPCA( + object = stat_obj, + color_by = "group", + ellipse = TRUE, + save_plot = TRUE +) + +# --------------------------------------------------------------------------- +```` + +### 5 Which features differ most between groups? + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module1-quickstart-06 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Which features differ most between groups? +# --------------------------------------------------------------------------- +stat_obj <- stat_var_feature(stat_obj, p_threshold = 0.05) +deg_result <- ExtractLastTestSig(stat_obj) +# --------------------------------------------------------------------------- +```` + +### 6 Baseline characteristics table ("Table 1") + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module1-quickstart-07 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6. Baseline characteristics table ("Table 1") +# --------------------------------------------------------------------------- +stat_obj <- stat_gaze_analysis(stat_obj, save_word = TRUE) +# --------------------------------------------------------------------------- +```` + +### 7 Save your work + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module1-quickstart-08 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7. Save your work +# --------------------------------------------------------------------------- +# Module 2 (modeling) and Module 3 (subtyping) both can start by loading this file. +saveRDS(stat_obj, file = "stat_obj.rds") + +cat("\nDone! stat_obj.rds saved — you're ready for Module 2 (modeling)", + "or Module 3 (subtyping).\n") +```` diff --git a/module2-advanced.qmd b/module2-advanced.qmd new file mode 100644 index 0000000..c8328fa --- /dev/null +++ b/module2-advanced.qmd @@ -0,0 +1,999 @@ +# Module 2: Classification Modeling — Advanced + +The advanced `Train_Model` workflow covers algorithm availability checks, RFE/GA/SA and built-in feature selection, preprocessing benchmarks, model comparison, ensembles, hyperparameter tuning, SHAP and DALEX explanations, clinically interpretable thresholds, NRI/IDI, deployment, and an optional Shiny interface. + +## Key Configuration + +Start by setting `INPUT_STAT_OBJ`, the outcome definition, and `OUTPUT_DIR`. Optional packages are loaded only by the methods that need them. Treat apparent performance from feature selection, tuning, and model comparison as development evidence until it is confirmed in an untouched cohort; all figures and tables are saved in a structured output tree for that audit. + +## Step-by-step Workflow + + + +The workflow is divided into short stages. Each note explains the purpose, key checks, and interpretation limits. Generated plots and tables appear directly below their code chunk. + +### Environment and Global Setup + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module2-advanced-01 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# ============================================================================= +# icare Package Vignette — Module 2: Modeling Pipeline +# ADVANCED / PUBLICATION EDITION +# ============================================================================= +# Audience : Advanced users who want to see (and customize) every stage of +# building, tuning, explaining, and clinically validating a model. +# Input : "stat_obj.rds", produced by Module 1 (data cleaning). +# +# Pipeline covered in this script: +```` + +### 1 Convert the cleaned Stat object into a modeling object + +This section creates the icare analysis object that stores data, metadata, and workflow state for all later steps. + +````{r} +#| label: module2-advanced-02 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1) Convert the cleaned Stat object into a modeling object +```` + +### 2 Inspect candidate algorithms and their hyperparameters + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-03 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2) Inspect candidate algorithms and their hyperparameters +```` + +### 3 Feature selection (built-in importance, then a multi-method + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module2-advanced-04 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3) Feature selection (built-in importance, then a multi-method +# RFE/GA/SA pipeline, then a sensitivity/elbow-based elimination) +```` + +### 4 Preprocessing benchmark, train/test split & scaling + +This section preprocesses the data. Review missingness, outlier handling, and normalization before accepting the defaults. + +````{r} +#| label: module2-advanced-05 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4) Preprocessing benchmark, train/test split & scaling +```` + +### 5 Train several algorithms and compare them + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-06 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5) Train several algorithms and compare them +```` + +### 6 Ensemble models (stacking / averaging / weighting / voting) + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-07 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6) Ensemble models (stacking / averaging / weighting / voting) +```` + +### 7 Hyperparameter tuning of the best model + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-08 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7) Hyperparameter tuning of the best model +```` + +### 8 Explainability (SHAP, break-down, partial dependence, etc.) + +This section examines clinical utility and model explanations. Explanatory plots describe model behavior and do not establish causality. + +````{r} +#| label: module2-advanced-09 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8) Explainability (SHAP, break-down, partial dependence, etc.) +```` + +### 9 Clinical layer: subgroup analysis, confounder adjustment, + +This section examines clinical utility and model explanations. Explanatory plots describe model behavior and do not establish causality. + +````{r} +#| label: module2-advanced-10 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 9) Clinical layer: subgroup analysis, confounder adjustment, +# decision thresholds, NRI/IDI model comparison +```` + +### 10 Deployment: a prediction function and an optional Shiny app + +This section applies the trained object to new samples. Validate input format, performance, and target population in an independent cohort before deployment. + +````{r} +#| label: module2-advanced-11 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 10) Deployment: a prediction function and an optional Shiny app +# +# Every `save_dir` below points into a sub-folder of OUTPUT_DIR so all +# figures/tables from a run are easy to locate. +# ============================================================================= + +rm(list = ls()) +library(icare) +library(caret) +#devtools::document("../../icare-git/") +#devtools::install("../../icare-git/") +# --------------------------------------------------------------------------- +```` + +### 0 CONFIG + +This section defines seeds, output paths, and dependencies. Update these paths and key parameters first when using new data. + +````{r} +#| label: module2-advanced-12 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 0. CONFIG +# --------------------------------------------------------------------------- +INPUT_STAT_OBJ <- "stat_obj.rds" # produced by Module 1 +OUTPUT_DIR <- "./Module2_Advanced_Output" +SEED <- 123 + +dir.create(OUTPUT_DIR, showWarnings = FALSE, recursive = TRUE) +sub_dir <- function(...) { + d <- file.path(OUTPUT_DIR, ...) + dir.create(d, showWarnings = FALSE, recursive = TRUE) + d +} + +# ============================================================================= +```` + +### 1 Load the Stat Object and Convert it to a Modeling Object + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module2-advanced-13 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Load the Stat Object and Convert it to a Modeling Object +# ============================================================================= +stat_obj <- readRDS(INPUT_STAT_OBJ) + +# ConvertObject() re-wraps the cleaned data (`clean.data`) into a +# `Train_Model` object, icare's container for the modeling stage. +model_obj <- ConvertObject(stat_obj, to = "Train_Model") +InspectObject(model_obj) + +# The outcome column must be an explicit factor for classification models. +model_obj@clean.df[[model_obj@group_col]] <- + factor(model_obj@clean.df[[model_obj@group_col]]) +cat("Outcome distribution:\n") +print(table(model_obj@clean.df[[model_obj@group_col]])) + +set.seed(SEED) +idx <- createDataPartition(model_obj@clean.df[[model_obj@group_col]], p = 0.7, list = FALSE) +model_obj@split.data <- list( + training = model_obj@clean.df[idx, ], + testing = model_obj@clean.df[-idx, ] +) +model_obj_train <- CreateModelObject( + data = model_obj@split.data$training, + group_col = model_obj@group_col +) + +InspectObject(model_obj_train) +# ============================================================================= +```` + +### 2 Algorithm Inspection + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-14 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Algorithm Inspection +# ============================================================================= +# Before picking algorithms, it helps to see what hyperparameters each one +# exposes (via caret) and which ones support built-in variable importance. +# Load data +data(allmodel) +df1=allmodel +# List all presets +df2=list_presets() +# Get all linear models +models_of_interest <- get_models(preset = "core") + +cat("\n--- Hyperparameters for candidate models ---\n") +for (m in models_of_interest) { + info <- caret::getModelInfo(m, regex = FALSE)[[1]] + cat("\n", m, ":", paste(info$parameters$parameter, collapse = ", ")) +} + +cat("\n\n--- Built-in variable-importance support ---\n") +print(check_varImp_availability(models_of_interest)) + +# ============================================================================= +```` + +### 3 Feature Selection + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module2-advanced-15 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Feature Selection +# ============================================================================= +fs_dir <- sub_dir("01_feature_selection") + +## 3.1 Quick pass: built-in importance from a couple of fast models. +## Models that don't support importance are skipped automatically. +builtin <- FeatureSelectBuiltin( + object = model_obj_train, + models = models_of_interest, + top_n = 15, + seed = SEED +) +print(builtin$importance_table) +PlotBuiltinImportance(builtin_result = builtin, save_dir = fs_dir, save_plot = TRUE) + +## 3.2 Thorough pass: combine Recursive Feature Elimination (RFE), a Genetic +## Algorithm (GA), and Simulated Annealing (SA), then take the UNION of +## features any method selected. This is slower but more robust than any +## single method — useful when you want a defensible feature set for a paper. +fs <- FeatureSelectionPipeline( + object = model_obj_train, + methods = c("ga", "rfe", "sa"), + combine = "union", + rfe_args = list(method = "cv", number = 2, sizes = c(5, 10, 20)), + sa_args = list(iters = 2, method = "cv", number = 5, repeats = 1, improve = 3), + ga_args = list(ga_func = caret::rfGA, iters = 2, popSize = 5, + method = "cv", number = 5, + allowParallel = TRUE, genParallel = TRUE), + upset_plot = TRUE, + save_plot = TRUE, + save_dir = fs_dir, + seed = SEED +) + +## 3.3 Diagnostic plots for the multi-method feature-selection run. +PlotRFE(fs$results$RFE, metric = "Accuracy", show_optimal = TRUE,y_limits = NULL, + save_plot = TRUE, save_dir = fs_dir) +PlotRFEImportance(fs$results$RFE, top_n = 20, save_plot = TRUE, save_dir = fs_dir) +PlotGA(fs$results$GA, metric = "Accuracy", save_plot = TRUE, save_dir = fs_dir) +PlotGAFrequency(fs$results$GA, top_n = 30, save_plot = TRUE, save_dir = fs_dir) +PlotFeatureConsensus(fs, show_counts = TRUE, save_plot = TRUE, save_dir = fs_dir) +PlotFeatureStability(fs, top_n = 30, save_plot = TRUE, save_dir = fs_dir,palette_name = 'BottleRocket2') +PlotFeatureComparison(fs, metric = "Accuracy", save_plot = TRUE, save_dir = fs_dir) + +## 3.4 A complementary, sensitivity-based approach: train models against an +## increasing number of features, then use an "elbow" rule to find the point +## where adding more features stops helping (either an absolute performance +## tolerance, or a stability window). +elim <- run_feature_elimination(model_obj_train, models = models_of_interest, + number = 5, smooth_span = 0.2) +res_perf <- select_elbow(elim, "perf_tolerance", tol = 0.05) + +plot_elbow(elim, best_features = res_perf$best_features, ci_style = "ribbon", + save_plot = TRUE, save_dir = fs_dir) + +features_perf <- get_selected_features(elim, "perf_tolerance", tol = 0.05) +all_methods <- get_selected_features(elim, methods = c("perf_tolerance"), + tol = 0.05, window_size = 40, stability_tol = 0.005) + +## 3.5 Commit to a final feature set. Here we use the random-forest result +## from the performance-tolerance elbow; swap in `builtin`, `fs$selected`, +## or `all_methods` if you prefer a different method's result. +model_obj_train<- ApplyFeatureSelection(model_obj_train, features_perf$perf_tolerance$best_features$glmnet) +model_obj<- ApplyFeatureSelection(model_obj, features_perf$perf_tolerance$best_features$glmnet) +# ============================================================================= +```` + +### 4 Preprocessing Benchmark + +This section preprocesses the data. Review missingness, outlier handling, and normalization before accepting the defaults. + +````{r} +#| label: module2-advanced-16 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Preprocessing Benchmark +# ============================================================================= +# Before committing to one imputation/normalization recipe, compare a grid of +# (algorithm x imputation x normalization) combinations by cross-validated +# performance. This is optional but strengthens a methods section. +bench <- LogisticDiagnosticBenchmark( + object = model_obj_train, + preProcess = c("center", "scale"), + smote = TRUE,save_plot = TRUE, save_dir = fs_dir) + +#algorithms_list=c( 'glm',"lda", "knn","nb","rpart","rf","svmRadial","xgbTree") +algorithms_list=models_of_interest +bench_result <- PreprocessingBenchmark( + data = model_obj_train, + group_col = model_obj_train@group_col, + algorithms = algorithms_list, + impute_methods = c("none", "median", "knn", "bag"), + norm_methods = list("none", c("center"), c("center", "scale")) +) + +print(bench_result) +PlotBenchmarkForest(bench_result, save_plot = TRUE, save_dir =fs_dir,global_median = F) +PlotBenchmarkForest(bench_result, save_plot = TRUE, save_dir =fs_dir,global_median = F,metric = 'Accuracy') +write.csv(bench_result, file.path(fs_dir, "preprocessing_benchmark.csv"), row.names = FALSE) +# ============================================================================= +```` + +### 5 Train / Test Split & Scaling + +This section creates training and validation sets. Restrict feature selection and parameter estimation to the training set to prevent leakage. + +````{r} +#| label: module2-advanced-17 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Train / Test Split & Scaling +# ============================================================================= +preProc <- preProcess( + model_obj@split.data$training[, setdiff(colnames(model_obj@split.data$training), model_obj@group_col)], + method = c("center", "scale", "YeoJohnson", "bagImpute") +) +model_obj@split.scale.data <- list( + training = predict(preProc, model_obj@split.data$training), + testing = predict(preProc, model_obj@split.data$testing) +) +model_obj@filtered.set <- model_obj@split.scale.data + +# ============================================================================= +```` + +### 6 Model Training + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-18 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6. Model Training +# ============================================================================= +model_dir <- sub_dir("02_models") + +model_obj <- ModelTrainAnalysis( + object = model_obj,metric_selection = 'ROC', + preProcess = NULL, + tuneLength = 3, + methods = models_of_interest, + control = list(method = "repeatedcv", number = 5, repeats = 2), + imbalance_handling = "auto", + imbalance_threshold = 0.2, + save_plots = TRUE, + save_dir = model_dir, + seed = SEED +) + +best_row <- model_obj@all.results[which.max(model_obj@all.results$auc), ] +cat("Best model by AUC:", best_row$Model, "\n") +model_obj <- SelectBestModel(model_obj, metric = "auc") + +# ============================================================================= +```` + +### 7 Model Comparison Visualizations + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-19 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7. Model Comparison Visualizations +# ============================================================================= +PlotTopModelAUC(model_obj, top_n = 4, save_plot = TRUE, save_dir = model_dir) +PlotProbDensity(model_obj, save_plot = TRUE, save_dir = model_dir) +PlotModelComparison( + model_obj, top_n = 4, + metrics = c("auc", "Sensitivity", "Specificity", "accuracy_score", "f1_score"), + palette_name = "Darjeeling1", save_plot = TRUE, save_dir = model_dir, + width = 12, height = 5 +) + +PlotModelParallel( + model_obj, top_n = 4, + metrics = c("auc", "Sensitivity", "Specificity", "accuracy_score", "f1_score"), + save_plot = TRUE, save_dir = model_dir +) +PlotMultiROC(model_obj, test_data = model_obj@split.scale.data$testing, + palette_name = "Darjeeling1", save_plot = TRUE, save_dir = model_dir) + +# Pick a trained model to inspect. "rf" is included in the model list above. +PlotConfusionMatrix(model_obj, test_data = model_obj@split.scale.data$testing, + model_name = "rf", threshold = 0.6, prevalence = 0.3, + save_plot = TRUE, save_dir = model_dir) +PlotFeatureImportance(model_obj, top_n = 20, save_plot = TRUE, save_dir = model_dir) +PlotCalibration(model_obj, model_name = "rf", + test_data = model_obj@filtered.set$training, + save_plot = TRUE, save_dir = model_dir) +PlotCalibration(model_obj, model_name = "rf", + test_data = model_obj@filtered.set$testing, + save_plot = TRUE, save_dir = model_dir) +# ============================================================================= +```` + +### 8 Ensemble Models + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-20 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8. Ensemble Models +# ============================================================================= +# Train several ensembling strategies on independent copies of model_obj so +# they don't overwrite each other, then compare their held-out AUC. +ens_dir <- sub_dir("03_ensemble") +model_avg <- TrainEnsemble(model_obj, strategy = "average", top_n = 4) +model_stack <- tryCatch( + TrainEnsemble(model_obj, strategy = "stacking", meta_method = "glm", top_n = 4), + error = function(e) { message("Stacking unavailable; using average ensemble: ", e$message); model_avg } +) +model_wgt <- tryCatch( + TrainEnsemble(model_obj, strategy = "weighted", top_n = 4), + error = function(e) { message("Weighted ensemble unavailable; using average ensemble: ", e$message); model_avg } +) +model_vote <- TrainEnsemble(model_obj, strategy = "voting", top_n = 4) + +# A manually-specified weighting is also supported, e.g. if domain knowledge +# suggests one algorithm should count more than another. +custom_wts <- c(glm = 0.1, rf = 0.5, gbm = 0.3, svmRadial = 0.1) +model_custom <- tryCatch( + TrainEnsemble(model_obj, strategy = "weighted", weights = custom_wts, top_n = 4), + error = function(e) { message("Custom weighting unavailable; using average ensemble: ", e$message); model_avg } +) + +test_data <- predict(preProc, model_obj@clean.df) +probs_stack <- PredictEnsemble(model_stack, test_data) +probs_avg <- PredictEnsemble(model_avg, test_data) +probs_wgt <- PredictEnsemble(model_wgt, test_data) +probs_custom <- PredictEnsemble(model_custom, test_data) + +library(pROC) +ensemble_auc <- data.frame( + Strategy = c("Stacking (or Average fallback)", "Average", "Weighted (or Average fallback)", "CustomWeighted (or Average fallback)"), + AUC = c( + as.numeric(auc(roc(test_data[[model_obj@group_col]], probs_stack))), + as.numeric(auc(roc(test_data[[model_obj@group_col]], probs_avg))), + as.numeric(auc(roc(test_data[[model_obj@group_col]], probs_wgt))), + as.numeric(auc(roc(test_data[[model_obj@group_col]], probs_custom))) + ) +) +print(ensemble_auc) +write.csv(ensemble_auc, file.path(ens_dir, "ensemble_auc_comparison.csv"), row.names = FALSE) + +# Voting returns hard class labels rather than probabilities, so it is +# compared separately by accuracy if needed — omitted here for brevity. + +model_obj <- SelectBestModel(model_obj, metric = "auc") +cat("Best single model:", model_obj@best.model.result$model_type, "\n") + +# ============================================================================= +```` + +### 9 Hyperparameter Tuning of the Best Model + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-21 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 9. Hyperparameter Tuning of the Best Model +# ============================================================================= +# --- Reference only: manual, algorithm-specific tuning bounds ------------- +# The block below is NOT executed (if (FALSE)). It documents how you would +# manually inspect and set search bounds for a few common algorithms, in +# case the automatic bounds picked in the next section don't suit your data. +if (FALSE) { + InspectHyperParams("rf") + InspectHyperParams("xgbTree") + InspectHyperParams("svmRadial") + InspectHyperParams("glmnet") + + rf_bounds <- BuildTuningBounds(mtry = c(2, 15)) + gbm_bounds <- BuildTuningBounds(n.trees = c(50, 500), interaction.depth = c(1, 9), + shrinkage = c(0.001, 0.1), n.minobsinnode = c(5, 30)) + xgb_bounds <- BuildTuningBounds(nrounds = c(50, 300), max_depth = c(2, 10), + eta = c(0.01, 0.3), gamma = c(0, 5), + colsample_bytree = c(0.4, 1), + min_child_weight = c(1, 10), subsample = c(0.5, 1)) + svm_bounds <- BuildTuningBounds(sigma = c(0.001, 0.1), C = c(0.1, 10)) +} +# --------------------------------------------------------------------------- + +# Automatically detect and tune the best-performing algorithm. +best_method <- model_obj@best.model.result$model_type +cat("Best model type:", best_method, "\n") +InspectHyperParams(best_method) +# Tune the detected best model. Small datasets can occasionally make the +# Gaussian-process optimiser numerically singular; keep the original model in +# that case and label the comparison accordingly instead of stopping the book. +tuning_error <- NULL +run_bayesian_tuning <- FALSE # enable only after validating a stable search space +if (run_bayesian_tuning) { + model_obj <- tryCatch( + FineTuneModel( + model_obj, method = best_method, use_scaled = TRUE, + init_points = 10, n_iter = 5, cv_folds = 5, metric = "ROC", seed = SEED + ), + error = function(e) { + tuning_error <<- e + message("Bayesian tuning unavailable; retaining the original best model: ", e$message) + model_obj + } + ) +} else { + tuning_error <- simpleError("Bayesian tuning skipped for this reproducible run") + message("Bayesian tuning skipped; retaining the original best model.") +} +if (is.null(tuning_error)) { + PlotTuningHistory(model_obj, save_plot = TRUE, save_dir = model_dir) + tuned_model <- model_obj@best.model.result$fine_tuned_model +} else { + tuned_model <- model_obj@train.models[[best_method]] +} +model_type <- model_obj@best.model.result$model_type +orig_best <- model_obj@train.models[[model_type]] + +test_data <- model_obj@split.scale.data$testing +if (is.null(test_data)) test_data <- model_obj@split.data$testing +gc <- model_obj@group_col + +original_auc <- max(model_obj@all.results$auc[model_obj@all.results$Model == model_type], na.rm = TRUE) +tuned_auc <- if (is.null(tuning_error)) max(tuned_model$results$ROC, na.rm = TRUE) else original_auc +comparison_label <- if (is.null(tuning_error)) "tuned" else "untuned fallback" +cat(sprintf(">>> Performance comparison for %s — original AUC: %.4f | %s AUC: %.4f\n", + model_type, original_auc, comparison_label, tuned_auc)) + +# ============================================================================= +```` + +### 10 Tuned vs. Untuned Comparison + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module2-advanced-22 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 10. Tuned vs. Untuned Comparison +# ============================================================================= +if (is.null(tuning_error)) { + PlotTunedROC(tuned_model, orig_best, test_data, gc, save_plot = TRUE, save_dir = model_dir) + PlotTunedConfusion(tuned_model, test_data, gc, save_plot = TRUE, save_dir = model_dir) + PlotTunedCalibration(tuned_model, test_data, gc, save_plot = TRUE, save_dir = model_dir) +} else { + message("Tuned-versus-untuned plots skipped because tuning did not converge.") +} + +# ============================================================================= +```` + +### 11 Model Explainability (XAI) + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-23 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 11. Model Explainability (XAI) +# ============================================================================= +xai_dir <- sub_dir("04_explainability") + +## 11.1 DALEX explainer for the best model, plus performance/importance plots. +explainer <- CreateExplainer(model_obj) +ExplainModelPerformance(explainer, geom = "roc", save_plots = TRUE, save_dir = xai_dir, + plot_width = 6, plot_height = 5) +ExplainVariableImportance(explainer, B = 10, top_n = 20, filter_zero = TRUE, + save_plots = TRUE, save_dir = xai_dir, + plot_width = 8, plot_height = 5) + +## 11.2 Global SHAP beeswarm (feature-level contribution across samples). +ExplainSHAPBeeswarm(explainer, N = 10, B = 10, max_features = 8, + save_plots = TRUE, save_dir = xai_dir, + plot_width = 9, plot_height = 6) + +## 11.3 Single-patient explanations for observation #1: waterfall SHAP and +## break-down (which also flags 2-way feature interactions). +ExplainSHAP(explainer, remove_zero = TRUE, new_observation = 1, B = 25, + save_plots = TRUE, save_dir = xai_dir, plot_width = 8, plot_height = 5) +ExplainBreakDown(explainer, remove_zero = TRUE, remove_intercept = TRUE, + new_observation = 1, type = "break_down_interactions", + save_plots = TRUE, save_dir = xai_dir, plot_width = 8, plot_height = 5) + +## 11.4 Ceteris-paribus ("what-if") curves and partial-dependence plots. +ExplainCeterisParibus(explainer, new_observation = 1, save_plots = TRUE, + save_dir = xai_dir, plot_width = 8, plot_height = 5) +ExplainPartialDependence(explainer, type = "partial", N = 300, + save_plots = TRUE, save_dir = xai_dir, + plot_width = 8, plot_height = 5) + +## 11.5 The same explanations can be generated for any other trained model — +## the un-tuned ensemble, a secondary algorithm, or the fine-tuned model — +## by passing `model =` explicitly. +explainer_gbm <- CreateExplainer(model_obj, model = "svmRadial") +ExplainVariableImportance(explainer_gbm, top_n = 15, save_plots = TRUE, + save_dir = file.path(xai_dir, "svmRadial")) + +explainer_tuned <- CreateExplainer(model_obj, model = tuned_model) +ExplainVariableImportance(explainer_tuned, top_n = 15, save_plots = TRUE, + save_dir = file.path(xai_dir, "tuned")) + +model_obj <- tryCatch( + TrainEnsemble(model_obj, strategy = "stacking", meta_method = "glm", top_n = 4), + error = function(e) { + message("Stacking unavailable for XAI; using average ensemble: ", e$message) + TrainEnsemble(model_obj, strategy = "average", top_n = 4) + } +) +explainer_ens <- CreateExplainer(model_obj, model = "ensemble") +ExplainVariableImportance(explainer_ens, top_n = 15, save_plots = TRUE, + save_dir = file.path(xai_dir, "ensemble")) + +# ============================================================================= +```` + +### 12 Clinical Integration + +This section examines clinical utility and model explanations. Explanatory plots describe model behavior and do not establish causality. + +````{r} +#| label: module2-advanced-24 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 12. Clinical Integration +# ============================================================================= +clin_dir <- sub_dir("05_clinical") + +# Attach (here, simulated) clinical covariates that were not part of the +# feature-selected model, for subgroup and confounder analysis. +model_obj@process.info$clinical_data=stat_obj@info.data +df=model_obj@process.info$clinical_data +df=df[,-c(1:4)] +df$Gender=ifelse(df$Gender=='Male',0,1) +df$Lymphocytes_count=model_obj@clean.df$Lymphocytes_count +df$age_group=ifelse(df$`Age at diagnosis`>60,'>60 years','<= 60 years') + +model_obj@process.info$clinical_data=df +ClinicalCorrelation(model_obj, save_plot = TRUE, save_dir = file.path(clin_dir, "correlation")) +PlotSubgroupForest(model_obj, subgroup_var = c("Gender", "age_group"),compare_method = 'delong_vs_rest', + save_plot = TRUE, save_dir = file.path(clin_dir, "subgroup")) +newdata <- model_obj@split.data$testing +model_obj@process.info$clinical_data + +PlotConfounderForest(model_obj, dataset_type = "testing",adjust_vars= c("Gender", "age_group"),outcome_var="group", + save_plot = TRUE,positive_class = '1', save_dir = file.path(clin_dir, "Confounder")) +# --- 12.1 Decision thresholds for the best model --------------------------- +thresh <- CalculateThresholds(model_obj, target_ppv = 0.9, target_npv = 0.9, target_acc = TRUE) +names(thresh$thresholds) +ApplyThreshold(thresh, which_threshold = "Youden") +ApplyThreshold(thresh, which_threshold = "PPV_Target") +ApplyThreshold(thresh, which_threshold = "NPV_Target") +ApplyThreshold(thresh, custom_threshold = 0.5) + +# From Step 2 onward, run plots in any order and adjust parameters as needed +PlotThresholdAccuracy(thresh, save_plot = TRUE, save_dir = file.path(clin_dir, "full_clinical")) +PlotThresholdDensity(thresh, save_plot = TRUE, save_dir = file.path(clin_dir, "full_clinical")) +PlotThresholdWaterfall(thresh, which_threshold = "Youden", save_plot = TRUE, save_dir = file.path(clin_dir, "full_clinical")) +PlotThresholdConfusion(thresh, which_threshold = "Youden", save_plot = TRUE, save_dir = file.path(clin_dir, "full_clinical")) +PlotThresholdROC(thresh, save_plot = TRUE, save_dir = file.path(clin_dir, "full_clinical")) +ClinicalThreshold(model_obj, target_ppv = 0.8, target_npv = 0.9, + save_plot = TRUE, save_dir = file.path(clin_dir, "thresholds")) +# --- 12.2 Compare against an external / simulated model --------------------- +# ---- Code with English comments ---- + +# Extract the name of the positive class (the second level of the outcome factor) +# The group column (model_obj@group_col) contains the binary outcome. +# The positive class is assumed to be the second factor level (e.g., "1" if levels are c("0","1")). +positive <- paste0("X", levels(factor(test_data[[model_obj@group_col]]))[2]) + +# Calculate classification thresholds (e.g., probability cutoffs) from the internal model +# to achieve target Positive Predictive Value (PPV) = 0.8, Negative Predictive Value (NPV) = 0.9, +# and also optimize for accuracy (target_acc = TRUE). +thresh_internal <- CalculateThresholds(model_obj, target_ppv = 0.8, target_npv = 0.9, target_acc = TRUE) + +# Set seed for reproducibility of the random perturbation step. +set.seed(456) + +# Obtain predicted probabilities for the positive class from the internal random forest model +# applied to the test data. +my_probs <- predict(model_obj@train.models$rf, test_data, type = "prob")[, positive] + +# Simulate predictions from an "external" model by adding random noise to the logit of the probabilities. +# This is a crude way to generate a second set of probability estimates for comparison. +# - Add a small constant (1e-6) to avoid log(0) issues. +# - Transform to logit scale, add Gaussian noise (sd = 0.5), then back-transform to probability scale. +rdoc_probs <- plogis(qlogis(my_probs + 1e-6) + rnorm(length(my_probs), mean = 0, sd = 0.5)) +# Ensure probabilities remain within [0,1] after perturbation. +rdoc_probs <- pmax(0, pmin(1, rdoc_probs)) + +# Calculate thresholds from the simulated external model's probabilities, +# using the same performance targets (PPV, NPV, accuracy). +# Note: here the positive class is hardcoded as "1" – assumes the outcome factor levels are c("0","1"). +thresh_external <- CalculateThresholdsFromProbs( + probs = rdoc_probs, true = factor(test_data[[model_obj@group_col]]), + positive = "1", target_ppv = 0.8, target_npv = 0.9, target_acc = TRUE +) + +# Compare the two sets of thresholds by plotting performance metrics (e.g., confusion matrices) +# for the internal model ("Your Model") vs. the external simulation ("External Model"). +CompareClassification(thresh_internal, thresh_external, + label1 = "Your Model", label2 = "External Model", + save_plot = TRUE, save_dir = file.path(clin_dir, "comparison")) + +# Plot ROC curves with the identified thresholds overlaid, comparing both models. +# The internal thresholds are used as the primary set; the external model is added for comparison. +PlotThresholdROC(thresh_internal, compare_model = thresh_external, + compare_label = "External Model", + save_plot = TRUE, save_dir = file.path(clin_dir, "comparison")) + +# --- 12.3 Reclassification: NRI / IDI between two models -------------------- +nri_dir <- sub_dir("06_nri_idi") +true_labels <- factor(test_data[[model_obj@group_col]]) +ref_prob <- predict(model_obj@train.models$rf, test_data, type = "prob")[, positive] +new_prob <- predict(model_obj@train.models$svmRadial, test_data, type = "prob")[, positive] + +# Scenario A: both models judged against the same clinical risk thresholds. +# Set directories +save_dir <- file.path(getwd(), "NRIDI_Manual_Results") +dir.create(save_dir, recursive = TRUE, showWarnings = FALSE) + +# ROC +PlotROCCompare(true_labels, ref_prob, new_prob, + labels = c("Ref", "New"), save_plot = TRUE, save_dir = save_dir) + +# IDI +idi <- PlotIDICurve(true_labels, ref_prob, new_prob, positive = "1", + save_plot = TRUE, save_dir = save_dir) +idi +# NRI calculation +nri <- CalculateCategoryNRI(true_labels, ref_prob, new_prob, + risk_thresholds = c(0.02, 0.1, 0.5, 0.95)) +# Export numeric results +cat("\nNRI Events:", nri$nri_events, + "\nNRI Non-Events:", nri$nri_nonevents, + "\nTotal NRI:", nri$nri_total, "\n") + +# NRI heatmap +PlotNRIHeatmap(nri, save_plot = TRUE, save_dir = save_dir) + +# NRI bar plot +PlotNRIBars(nri, save_plot = TRUE, save_dir = save_dir) + +# Probability distributions +PlotPredDist(true_labels, ref_prob, new_prob, + labels = c("Ref", "New"), outcome_labels = c("0", "1"), + save_plot = TRUE, save_dir = save_dir) + +# Threshold–NRI curve (optional) +PlotThresholdNRI(true_labels, ref_prob, new_prob, + save_plot = TRUE, save_dir = save_dir) + +# Scenario B: models compared using their own, independent thresholds. +if(F){ +NRI_IDI_Analysis( + ref_prob = ref_prob, new_prob = new_prob, truth = true_labels, + ref_thresholds = c(0.02, 0.1, 0.5, 0.95), new_thresholds = c(0.05, 0.4), + ref_category_labels = c("I", "II", "III", "IV", "V"), + new_category_labels = c("Low", "Intermediate", "High"), + labels = c("Reference RF", "New Model"), outcome_labels = c("Benign", "Malignant"), + show_ci = FALSE, save_dir = file.path(nri_dir, "independent_thresholds")) +} + +# Scenario C: individual building blocks, for full control over each plot. +nri_res <- CalculateCategoryNRI(true_labels, ref_prob, new_prob, + ref_thresholds = c(0.3, 0.7), new_thresholds = c(0.5)) +print(nri_res$nri_total) +PlotNRIHeatmap(nri_res, ref_category_labels = c("Low", "Medium", "High"), + new_category_labels = c("Negative", "Positive"), + save_plot = TRUE, save_dir = file.path(nri_dir, "heatmap")) +PlotIDICurve(true_labels, ref_prob, new_prob, risk_thresholds = c(0.02, 0.1, 0.5, 0.95), + save_plot = TRUE, save_dir = file.path(nri_dir, "idi")) +PlotROCCompare(true_labels, ref_prob, new_prob, labels = c("RF", "svm"), show_ci = FALSE, + save_plot = TRUE, save_dir = file.path(nri_dir, "roc")) +PlotPredDist(true_labels, ref_prob, new_prob, labels = c("RF", "New"), + outcome_labels = c("0", "1"), save_plot = TRUE, save_dir = file.path(nri_dir, "dist")) +PlotThresholdNRI(true_labels, ref_prob, new_prob, save_plot = TRUE, + save_dir = file.path(nri_dir, "threshold_scan")) + +# ============================================================================= +```` + +### 13 Deployment + +This section applies the trained object to new samples. Validate input format, performance, and target population in an independent cohort before deployment. + +````{r} +#| label: module2-advanced-25 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 13. Deployment +# ============================================================================= +# Collect all ensemble objects in a named list +model_obj@process.info$ensembles <- list( + "Stacking" = model_stack, + "Average" = model_avg, + "Weighted" = model_wgt, + "CustomWeighted" = model_custom +) + +# Validate saved objects +names(model_obj@process.info$ensembles) +# Wrap the trained model(s), the preprocessing recipe, and readable class +# labels into a single deployment object that can be used programmatically +# or through the bundled Shiny app. +deploy_manager <- icare::ModelDeployment( + object = model_obj, + preproc = preProc, + class_labels = c("NEGATIVE", "POSITIVE"), + model_description = "Ensemble platform for clinical outcome prediction." +) + +demo_records <- head(model_obj@clean.df, 20) + +## 13.1 High-sensitivity screening mode (lower threshold, e.g. for triage). +screen_res<-deploy_manager$predict_fn(demo_records, selected_model = "Ensemble Stacking") +pos_probs <- screen_res[, 2] +screen_diag <- ifelse(pos_probs >= 0.3, "POSITIVE", "NEGATIVE") +screen_diag +## 13.2 Compare two specific algorithms at a standard threshold. +res_rf <- deploy_manager$predict_fn(demo_records, selected_model = "rf") +res_svm <- deploy_manager$predict_fn(demo_records, selected_model ="svmRadial") +diag_rf <- ifelse(res_rf[, 2] >= 0.5, "POSITIVE", "NEGATIVE") +diag_svm <- ifelse(res_svm[, 2] >= 0.5, "POSITIVE", "NEGATIVE") + +## 13.3 Interactive Shiny app — only launched in an interactive session so +## this script can still run non-interactively (e.g. via `Rscript`). +library(bslib); library(shiny); library(plotly) +if (interactive()) { + icare::deploy_clinlab_app(deploy_manager, title = "Clinlabomics Intelligence") +} else { + message("Interactive deployment app skipped during non-interactive book rendering.") +} + + +# ============================================================================= +```` + +### 14 Save the Final Model Object + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-advanced-26 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 14. Save the Final Model Object +# ============================================================================= +saveRDS(model_obj, file = "model_obj.rds") + +cat("\n========================================\n") +cat("Module 2 (advanced) pipeline finished successfully!\n") +cat("All figures/tables saved under:", OUTPUT_DIR, "\n") +cat("========================================\n") +```` diff --git a/module2-quickstart.qmd b/module2-quickstart.qmd new file mode 100644 index 0000000..c544688 --- /dev/null +++ b/module2-quickstart.qmd @@ -0,0 +1,218 @@ +# Module 2: Classification Modeling — Quick Start + +This chapter converts the cleaned `Stat` object into icare's `Train_Model` object, selects informative features, performs a stratified development split, estimates preprocessing from training data, benchmarks common classifiers through the caret-based interface, and selects a final model using held-out AUC. + +## Important Notes + +The `Train_Model` object is designed to preserve the modeling state needed for later prediction and deployment. Estimate imputation, scaling, feature selection, tuning, and decision thresholds from training data only, then apply the stored operations unchanged to the test set. Preserve this sequence when changing the data, class outcome, or resampling design. + +## Step-by-step Workflow + + + +The workflow is divided into short stages. Each note explains the purpose, key checks, and interpretation limits. Generated plots and tables appear directly below their code chunk. + +### Environment and Global Setup + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module2-quickstart-01 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# ============================================================================= +# icare Package Vignette — Module 2: Modeling Pipeline +# QUICK-START EDITION +# ============================================================================= +# Audience : Users who just want a trained, evaluated model without exploring +# every feature-selection method, ensemble strategy, or clinical +# extra. +# Input : "stat_obj.rds", produced by Module 1 (data cleaning). +# +# This script covers: convert to a modeling object -> select features -> +# split & scale -> train a few algorithms -> pick the best -> evaluate it. +# +# Looking for feature-selection comparisons, ensembles, tuning, SHAP +# explanations, or clinical thresholds/NRI? See +# "02_module2_modeling_ADVANCED.R" instead. +# ============================================================================= +rm(list = ls()) +library(icare) +library(caret) + +set.seed(123) + +# --------------------------------------------------------------------------- +```` + +### 1 Load the cleaned data and convert it into a modeling object + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module2-quickstart-02 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Load the cleaned data and convert it into a modeling object +# --------------------------------------------------------------------------- +stat_obj <- readRDS("stat_obj.rds") +model_obj <- ConvertObject(stat_obj, to = "Train_Model") +model_obj@clean.df[[model_obj@group_col]] <- factor(model_obj@clean.df[[model_obj@group_col]]) + +# --------------------------------------------------------------------------- +```` + +### 2 Quick feature selection (built-in importance from a couple of models) + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module2-quickstart-03 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Quick feature selection (built-in importance from a couple of models) +# --------------------------------------------------------------------------- +builtin <- FeatureSelectBuiltin( + object = model_obj, + models = c("rf", "glm"), + top_n = 15, + seed = 123 +) +print(builtin$importance_table) + +# Keep only the top features identified above. +model_obj <- ApplyFeatureSelection(model_obj,builtin$importance_table$Feature[1:15]) +colnames(model_obj@clean.df) +# --------------------------------------------------------------------------- +```` + +### 3 Split into training/testing sets and scale the predictors + +This section creates training and validation sets. Restrict feature selection and parameter estimation to the training set to prevent leakage. + +````{r} +#| label: module2-quickstart-04 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Split into training/testing sets and scale the predictors +# --------------------------------------------------------------------------- +# Stratified split: create 70% training indices while preserving +# the distribution of the grouping variable (e.g., response class) +# using caret's createDataPartition. +# - model_obj@clean.df: the cleaned data frame +# - model_obj@group_col: name of the column used for stratification +# - p = 0.7: proportion for training +# - list = FALSE: returns a vector of indices instead of a list +idx <- createDataPartition(model_obj@clean.df[[model_obj@group_col]], p = 0.7, list = FALSE) +# Split the original clean data into training and testing sets +# based on the indices, and store them in the 'split.data' slot +# of the S4 object. +model_obj@split.data <- list( + training = model_obj@clean.df[idx, ], + testing = model_obj@clean.df[-idx, ] +) +# Compute pre-processing parameters (center and scale) from the +# training set, but ONLY on feature columns (exclude the grouping +# column to avoid leaking the target/label information). +# - setdiff() removes the group column from the feature set. +# - method = c("center", "scale") standardises each feature to +# mean = 0 and sd = 1. +preProc <- preProcess( + model_obj@split.data$training[, setdiff(colnames(model_obj@split.data$training), model_obj@group_col)], + method = c("center", "scale")) +# Apply the same pre-processing parameters (estimated from the +# training data) to BOTH training and testing sets, ensuring +# that the testing data is transformed using the training +# statistics (no data leakage). The results are stored in the +# 'split.scale.data' slot as a list. +model_obj@split.scale.data <- list( + training = predict(preProc, model_obj@split.data$training), + testing = predict(preProc, model_obj@split.data$testing) +) +# Assign the scaled datasets to the 'filtered.set' slot. +# This step may be used for subsequent modelling or further +# feature filtering (e.g., removing near-zero variance predictors). +model_obj@filtered.set <- model_obj@split.scale.data + +# --------------------------------------------------------------------------- +```` + +### 4 Train a handful of common algorithms and compare them + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-quickstart-05 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Train a handful of common algorithms and compare them +# --------------------------------------------------------------------------- +model_obj <- ModelTrainAnalysis( + object = model_obj, + methods = c("glmnet", "rf", "gbm"), + save_plots = TRUE, + seed = 123,save_dir = "." +) + +# --------------------------------------------------------------------------- +```` + +### 5 Pick the best model (by AUC) and look at its performance + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-quickstart-06 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Pick the best model (by AUC) and look at its performance +# --------------------------------------------------------------------------- +model_obj <- SelectBestModel(model_obj, metric = "auc") +cat("Best model:", model_obj@best.model.result$model_type, "\n") +PlotMultiROC(model_obj, test_data = model_obj@split.scale.data$testing, save_plot = TRUE) +PlotConfusionMatrix(model_obj, test_data = model_obj@split.scale.data$testing, + model_name = model_obj@best.model.result$model_type, + threshold = 0.5, save_plot = TRUE) +PlotFeatureImportance(model_obj, top_n = 15, save_plot = TRUE) + +# --------------------------------------------------------------------------- +```` + +### 6 Save your trained model + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module2-quickstart-07 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6. Save your trained model +# --------------------------------------------------------------------------- +saveRDS(model_obj, file = "model_obj.rds") + +cat("\nDone! model_obj.rds saved.\n", + "Want ensembles, tuning, SHAP explanations, or clinical thresholds?", + "See the ADVANCED version of this script.\n") +```` diff --git a/module3-advanced.qmd b/module3-advanced.qmd new file mode 100644 index 0000000..bd092ab --- /dev/null +++ b/module3-advanced.qmd @@ -0,0 +1,661 @@ +# Module 3: Unsupervised Subtyping — Advanced + +The advanced `Subtyping` workflow normalizes independent development and validation sets, compares K-means, latent profile analysis (LPA), and NMF, and evaluates t-SNE/UMAP structure, internal cluster quality, cross-method agreement, marker profiles, silhouettes, alluvial relationships, and deployment to new samples. + +## Preventing Information Leakage + +Split the data first, fit min–max parameters on the development set, and apply them unchanged to validation data. The workflow also checks numeric types and removes zero-variance features. Embeddings are exploratory: choose and validate a subtype solution using stability, agreement, marker reproducibility, and clinical usefulness rather than visual separation alone. + +## Step-by-step Workflow + + + +The workflow is divided into short stages. Each note explains the purpose, key checks, and interpretation limits. Generated plots and tables appear directly below their code chunk. + +### Environment and Global Setup + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module3-advanced-01 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# ============================================================================= +# icare Package Vignette — Module 3: Subtyping / Unsupervised Clustering +# ADVANCED / PUBLICATION EDITION +# ============================================================================= +# Audience : Advanced users who want to compare multiple clustering methods, +# validate them, and produce publication-style figures. +# Input : "stat_obj.rds", produced by Module 1 (data cleaning). +# +# Pipeline covered in this script: +```` + +### 1 Convert the cleaned Stat object into a Subtyping object + +This section creates the icare analysis object that stores data, metadata, and workflow state for all later steps. + +````{r} +#| label: module3-advanced-02 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1) Convert the cleaned Stat object into a Subtyping object +```` + +### 2 Normalize data and split into train/validation sets + +This section preprocesses the data. Review missingness, outlier handling, and normalization before accepting the defaults. + +````{r} +#| label: module3-advanced-03 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2) Normalize data and split into train/validation sets +```` + +### 3 Cluster with three complementary methods: K-means, LPA (Gaussian + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module3-advanced-04 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3) Cluster with three complementary methods: K-means, LPA (Gaussian +# mixture), and NMF (the primary method, since it also yields a +# re-usable model for predicting subtypes in new data) +```` + +### 4 Reduce dimensions (t-SNE / UMAP) for visualization + +This section creates exploratory and reporting figures. Plots appear below the code and are also saved as vector PDFs for publication. + +````{r} +#| label: module3-advanced-05 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4) Reduce dimensions (t-SNE / UMAP) for visualization +```` + +### 5 Evaluate and cross-compare the three clustering solutions + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module3-advanced-06 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5) Evaluate and cross-compare the three clustering solutions +```` + +### 6 Find subtype-specific marker features and visualize them + +This section creates exploratory and reporting figures. Plots appear below the code and are also saved as vector PDFs for publication. + +````{r} +#| label: module3-advanced-07 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6) Find subtype-specific marker features and visualize them +# (heatmaps, silhouette plot, alluvial diagram) +```` + +### 7 Deploy the trained NMF model for predicting subtypes in new samples + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module3-advanced-08 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7) Deploy the trained NMF model for predicting subtypes in new samples +# +# All figures are written into structured sub-folders of OUTPUT_DIR. +# ============================================================================= +# NOTE: the previous first line here was `load("../all_model.csv")`, which +# is a bug -- load() only reads .RData/.rds binary files, not CSV, and would +# error immediately (before rm(list=ls()) even runs). Removed as apparent +# leftover debug code; if you need to load model presets from a CSV, use +# read.csv() instead, or icare's own data(allmodel)/list_presets(). +rm(list = ls()) +library(icare) + +# --------------------------------------------------------------------------- +```` + +### 0 CONFIG + +This section defines seeds, output paths, and dependencies. Update these paths and key parameters first when using new data. + +````{r} +#| label: module3-advanced-09 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 0. CONFIG +# --------------------------------------------------------------------------- +INPUT_STAT_OBJ <- "stat_obj.rds" +OUTPUT_DIR <- "./Module3_Advanced_Output" +GROUP_COL <- "group" # the outcome/group column carried over from Module 1 +SEED <- 123 + +dir.create(OUTPUT_DIR, showWarnings = FALSE, recursive = TRUE) +sub_dir <- function(...) { + d <- file.path(OUTPUT_DIR, ...) + dir.create(d, showWarnings = FALSE, recursive = TRUE) + d +} + +# ============================================================================= +```` + +### 1 Load Data and Convert to a Subtyping Object + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module3-advanced-10 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Load Data and Convert to a Subtyping Object +# ============================================================================= +stat_obj <- readRDS(INPUT_STAT_OBJ) +InspectObject(stat_obj) + +sub_obj <- ConvertObject(stat_obj, to = "Subtyping") +InspectObject(sub_obj) +features=colnames(sub_obj@clean.data)[colnames(sub_obj@clean.data)!='sex'] +sub_obj@clean.data <- sub_obj@clean.data[, features, drop = FALSE] +# ============================================================================= +```` + +### 2 Normalize and Split into Train / Validation Sets + +This section preprocesses the data. Review missingness, outlier handling, and normalization before accepting the defaults. + +````{r} +#| label: module3-advanced-11 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Normalize and Split into Train / Validation Sets +# ============================================================================= +# ============================================================================= +```` + +### 2 Split into Train / Validation Sets, then Normalize + +This section preprocesses the data. Review missingness, outlier handling, and normalization before accepting the defaults. + +````{r} +#| label: module3-advanced-12 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Split into Train / Validation Sets, then Normalize +# ============================================================================= +# IMPORTANT: split BEFORE fitting any normalization parameters — mirrors the +# pattern used in Module 2 (createDataPartition first, then preProcess() fit +# on the training split only, never on the full dataset). Fitting min-max +# parameters on the full data (train+validation combined) and only THEN +# splitting would let validation-set values leak into the scaling applied to +# the validation set itself — the opposite of what we want. +set.seed(SEED) +split <- SplitSubtypingObject(sub_obj, p = 0.7, stratify_by = GROUP_COL) + +# min-max scaling keeps all features non-negative, which NMF requires. +# Fit normalization on the TRAINING split only. +# min-max scaling keeps all features non-negative, which NMF requires. +# Fit normalization on the TRAINING split only. +# IMPORTANT: explicitly pass group_col = GROUP_COL ("SWAB", configured at the +# top of this script) so the outcome column is correctly excluded from +# scaling. Sub_normalize_process()'s default group_col is the literal string +# "group" -- if left unset here, "SWAB" would NOT be recognized as the +# group column, and (being non-numeric) would silently remain in scale.data, +# later crashing NMF::nmf() deep inside with an unrelated "'x' must be +# numeric" error instead of a clear one at this step. +sub_train <- Sub_normalize_process(split$train, normalize_method = "min_max", + group_col = GROUP_COL) +cat("Normalization completed. scale.data dimensions:", dim(sub_train@scale.data), "\n") + +# Defensive check: confirm every remaining column really is numeric before +# it reaches K-means/LPA/NMF, all three of which require a purely numeric +# input matrix. +non_numeric_cols <- names(sub_train@scale.data)[!vapply(sub_train@scale.data, is.numeric, logical(1))] +if (length(non_numeric_cols) > 0) { + stop("Non-numeric column(s) in scale.data: ", paste(non_numeric_cols, collapse = ", "), + ". Check group_col above, or drop these columns from clean.data first.") +} + +# Extract the normalization parameters learned on the TRAINING split only, so +# they can be re-applied identically to the validation split without letting +# validation-set information leak into its own scaling (avoids data leakage, +# analogous to Module 2's preProcess() being fit on split.data$training only). +norm_params <- Sub_extract_norm_params(sub_train, verbose = TRUE) + +# Apply the training-derived parameters to the validation split — the +# validation set never contributes to its own normalization statistics. +sub_test <- Sub_apply_norm_params(split$test, norm_params = norm_params, verbose = TRUE) + +cat("Train set:", nrow(sub_train@clean.data), "samples | Validation set:", + nrow(sub_test@clean.data), "samples\n") + +# Remove zero-variance columns — otherwise K-means' internal PCA step errors out. +sub_train@scale.data <- remove_constant_columns(sub_train@scale.data) +sub_train@clean.data <- sub_train@clean.data[, colnames(sub_train@scale.data), drop = FALSE] + +# Keep the validation split's feature set aligned with the (possibly reduced) +# training feature set after zero-variance removal. +common_feats <- intersect(colnames(sub_train@scale.data), colnames(sub_test@scale.data)) +sub_test@scale.data <- sub_test@scale.data[, common_feats, drop = FALSE] +sub_test@clean.data <- sub_test@clean.data[, common_feats, drop = FALSE] + +# ============================================================================= +```` + +### 3 Clustering — Three Complementary Methods + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module3-advanced-13 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Clustering — Three Complementary Methods +# ============================================================================= +## 3.1 K-means, with the number of clusters chosen automatically (k up to 8). +cat("\n=== K-means Clustering ===\n") +sub_train <- Sub_kmeans_with_optimal_k( + sub_train, use_scaled_data = TRUE, k.max = 8, palette_name = "Zissou1", + save_plots = TRUE, save_dir = sub_dir("01_kmeans"), seed = SEED +) +print(table(sub_train@info.data$cluster_kmeans)) + +## 3.2 LPA (Latent Profile Analysis / Gaussian mixture) — a model-based +## alternative to K-means that allows clusters of different shapes/sizes. +cat("\n=== LPA Clustering ===\n") +library(mclust) +sub_train <- Sub_lpa_with_optimal_k( + sub_train, use_scaled_data = TRUE, max_clusters = 3, verbose = TRUE, + color_palette = "Darjeeling1", save_plots = TRUE, save_dir = sub_dir("02_lpa"), seed = SEED +) +cat("LPA optimal K =", sub_train@Optimal.cluster, "\n") +print(table(sub_train@info.data$cluster_lpa)) + +## 3.3 NMF (Non-negative Matrix Factorization) — the primary method here, +## because it produces a re-usable model that can assign new/validation +## samples to the same subtypes (steps 3.3d and 4 below). +cat("\n=== NMF Clustering ===\n") +library(NMF) +nmf_dir <- sub_dir("03_nmf") + +```` + +### 3.3a Estimate the best rank (= number of subtypes) across a candidate range. + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module3-advanced-14 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3.3a Estimate the best rank (= number of subtypes) across a candidate range. +sub_train <- Sub_nmf_estimate(sub_train, rank_range = 2:6, nrun = 5, + method = "brunet", save_dir = nmf_dir, seed = SEED) +```` + +### 3.3b Pick the best rank from the estimation above. + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module3-advanced-15 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3.3b Pick the best rank from the estimation above. +sub_train <- Sub_nmf_best_rank(sub_train, nrun = 5, method = "brunet", + palette_name = "Zissou1", save_dir = nmf_dir) +cat("NMF optimal rank =", sub_train@Optimal.cluster, "\n") +```` + +### 3.3c Assign each training sample to a subtype. + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module3-advanced-16 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3.3c Assign each training sample to a subtype. +sub_train <- Sub_nmf_assign_subtypes(sub_train) +print(table(sub_train@info.data$cluster_nmf)) + +```` + +### 3.3d Refit with more NMF runs and save a re-usable model object, so new + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module3-advanced-17 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3.3d Refit with more NMF runs and save a re-usable model object, so new +# samples (or the validation split) can be classified consistently later. +model_dir <- sub_dir("03_nmf/model") +sub_train <- Sub_nmf_train_model( + sub_train, best_k = sub_train@Optimal.cluster, nrun = 10, method = "brunet", + model_name = "subtyping_nmf_model", save_dir = model_dir +) + +# ============================================================================= +```` + +### 4 Predict Subtypes on the Validation Split + +This section creates training and validation sets. Restrict feature selection and parameter estimation to the training set to prevent leakage. + +````{r} +#| label: module3-advanced-18 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Predict Subtypes on the Validation Split +# ============================================================================= +cat("\n=== Predict validation set using the trained NMF model ===\n") +sub_test <- Sub_predict_subtypes(sub_test, train_object = sub_train, method = "nmf", verbose = TRUE) +cat("Validation NMF subtype distribution:\n") +print(table(sub_test@info.data$cluster_nmf)) + +# ============================================================================= +```` + +### 5 Dimensionality Reduction for Visualization (t-SNE & UMAP) + +This section creates exploratory and reporting figures. Plots appear below the code and are also saved as vector PDFs for publication. + +````{r} +#| label: module3-advanced-19 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Dimensionality Reduction for Visualization (t-SNE & UMAP) +# ============================================================================= +cat("\n=== Dimensionality reduction (t-SNE & UMAP) ===\n") +dr_dir <- sub_dir("04_dim_reduction") + +sub_train <- Sub_tsne_analyse(sub_train, use_scaled_data = TRUE) +sub_train <- Sub_umap_analyse(sub_train, n_neighbors = 15, min_dist = 0.1, metric = "euclidean") + +# t-SNE colored by LPA subtype. +PlotDimReduction(sub_train, reduction = "tsne", color_by = "cluster_lpa", + palette_name = "Darjeeling1", save_plot = TRUE, + save_dir = file.path(dr_dir, "tsne"), point_size = 1.8) + + ggplot2::labs(title = "t-SNE colored by LPA subtype") + +# t-SNE colored by the clinical outcome (as a factor for discrete coloring). +sub_train@info.data[[GROUP_COL]] <- factor(sub_train@info.data[[GROUP_COL]]) +PlotDimReduction(sub_train, reduction = "tsne", color_by = GROUP_COL, + palette_name = "Royal1", save_plot = TRUE, + save_dir = file.path(dr_dir, "tsne"), point_size = 1.8) + + ggplot2::labs(title = "t-SNE colored by clinical outcome") + + +# ============================================================================= +```` + +### 6 Clustering Quality Evaluation + +This section evaluates quality and robustness. Interpret plots, metrics, and sample distributions together. + +````{r} +#| label: module3-advanced-20 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6. Clustering Quality Evaluation +# ============================================================================= +cat("\n=== Clustering quality evaluation ===\n") +# Use a separate temporary copy per method so none of them overwrite each other. +km_eval <- sub_train; km_eval@clustered.data$group <- sub_train@info.data$cluster_kmeans +lpa_eval <- sub_train; lpa_eval@clustered.data$group <- sub_train@info.data$cluster_lpa +nmf_eval <- sub_train; nmf_eval@clustered.data$group <- sub_train@info.data$cluster_nmf + +eval_km <- Sub_evaluation_results(km_eval, seed = SEED) +eval_lpa <- Sub_evaluation_results(lpa_eval, seed = SEED) +eval_nmf <- Sub_evaluation_results(nmf_eval, seed = SEED) + +eval_summary <- data.frame( + Method = c("K-means", "LPA", "NMF"), + rbind(eval_km@evaluation_results, eval_lpa@evaluation_results, eval_nmf@evaluation_results) +) +print(eval_summary) +# ============================================================================= +```` + +### 7 Consistency Between the Three Clustering Methods + +This section evaluates quality and robustness. Interpret plots, metrics, and sample distributions together. + +````{r} +#| label: module3-advanced-21 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7. Consistency Between the Three Clustering Methods +# ============================================================================= +cat("\n=== Consistency between methods ===\n") +sub_compare <- sub_train +# Prefix numeric cluster labels with "S" so they are treated as categories, +# not as an ordered numeric scale, in the comparison plot. +sub_compare@info.data$cluster_lpa <- paste0("S", sub_compare@info.data$cluster_lpa) +sub_compare@info.data$cluster_kmeans <- paste0("S", sub_compare@info.data$cluster_kmeans) + +ari_mat <- compare_clusterings( + sub_compare, methods = c("cluster_kmeans", "cluster_lpa", "cluster_nmf"), output = "matrix" +) +cat("Adjusted Rand Index matrix:\n"); print(round(ari_mat, 3)) + +plot_clustering_comparison( + sub_compare, methods = c("cluster_kmeans", "cluster_lpa", "cluster_nmf"), + save_dir = sub_dir("05_method_comparison"), width = 5, height = 4.5, base_size = 12 +) + +# ============================================================================= +```` + +### 8 Subtype-Specific Marker Features & Enhanced Visualization + +This section creates exploratory and reporting figures. Plots appear below the code and are also saved as vector PDFs for publication. + +````{r} +#| label: module3-advanced-22 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8. Subtype-Specific Marker Features & Enhanced Visualization +# ============================================================================= +cat("\n=== Subtype-specific differential features ===\n") +deg_dir <- sub_dir("06_differential") + +## 8.1 Multi-class differential analysis (one-vs-rest Wilcoxon), using the +## LPA subtypes as the grouping variable. Any of the three cluster labels +## could be used here instead. +deg_df <- sub_train@clean.data +deg_df$subtype <- factor(sub_train@info.data$cluster_lpa) + +multi_deg <- batch_Wilcoxon_MultiClass( + mat = deg_df, group_col = "subtype", only.pos = FALSE, + save_data = TRUE, save_dir = deg_dir +) + +## 8.2 Marker heatmaps of the top differential features per subtype. +# Basic version, auto z-limit: +tryCatch( + PlotClusterHeatmap( + sub_train, p_cutoff = 2, deg_df = multi_deg, top_n = 5, + save_path = file.path(deg_dir, "cluster_heatmap_basic.pdf") + ), + error = function(e) message("Sample-level heatmap skipped (raster backend): ", e$message) +) +# With a clinical annotation bar (outcome) alongside the heatmap: +tryCatch( + PlotClusterHeatmap( + sub_train, p_cutoff = 2, deg_df = multi_deg, group_by = "cluster_lpa", + annotation_cols = tolower(GROUP_COL), top_n = 5, log_transform = TRUE, + save_path = file.path(deg_dir, "cluster_heatmap_with_outcome.pdf"), + annotation_palette = list(swab = c("0" = "#D32F2F", "1" = "#1976D2")) + ), + error = function(e) message("Annotated sample-level heatmap skipped (raster backend): ", e$message) +) +# Group-mean z-score heatmap (one column per subtype, not per sample) — +# useful for a compact summary figure. +PlotGroupMeanHeatmap( + sub_train, deg_df = multi_deg, top_n = 5, custom_levels = c("1", "2", "3"), + z_score_type = "row", heatmap_palette = c("#2166AC", "white", "#B2182B"), + save_path = file.path(deg_dir, "group_mean_zscore.pdf") +) + +## 8.3 Silhouette plot — how well-separated are the LPA subtypes? +PlotSilhouette(sub_train, group_by = "cluster_lpa", dist_method = "euclidean", + palette_name = "Darjeeling1", save_plot = TRUE, save_dir = sub_dir("07_silhouette")) + +## 8.4 Alluvial diagram comparing outcome, K-means, LPA, and NMF assignments +## for the same samples — a compact way to show whether methods agree. +PlotMultiAlluvial( + sub_train, cols_list = c(tolower(GROUP_COL), "cluster_kmeans", "cluster_lpa", "cluster_nmf"), + save_plot = TRUE, save_dir = sub_dir("08_alluvial") +) + +# ============================================================================= +```` + +### 9 Deployment: Predict Subtypes for New Samples + +This section applies the trained object to new samples. Validate input format, performance, and target population in an independent cohort before deployment. + +````{r} +#| label: module3-advanced-23 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 9. Deployment: Predict Subtypes for New Samples +# ============================================================================= +demo_raw_data <- head(sub_train@clean.data, 20) +sub_manager <- New_Sub_Manager(sub_train) + +# Console-only prediction (no UI) for a quick sanity check. +quick_pred <- sub_manager$sub_predict(head(demo_raw_data), method = "nmf") +print(quick_pred@info.data$cluster_nmf) + +# Optional metadata shown in the deployment app. +my_intro <- list( + abstract = "Cohort-scale subtyping tool.", + citation = "Add your citation here." +) +my_var_dict <- data.frame( + Feature = c("gender", "age", "wbc", "platelets", "crp", "ldh"), + Description = c("Patient biological sex (1 = Male, 2 = Female)", + "Patient age at diagnosis", + "White blood cell count", + "Total platelet count", + "C-reactive protein (inflammation marker)", + "Lactate dehydrogenase (tumor-burden marker)"), + Units = c("Category", "Years", "10^9/L", "10^9/L", "mg/L", "U/L"), + stringsAsFactors = FALSE +) + +# The interactive Shiny app is only launched in an interactive session. +if (interactive()) { + launch_sub_deploy_app(sub_manager, var_dict = my_var_dict, + title = "Stratification Portal", project_info = my_intro) +} + +# ============================================================================= +```` + +### 10 Save Final Objects + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module3-advanced-24 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 10. Save Final Objects +# ============================================================================= +saveRDS(sub_train, file = file.path(OUTPUT_DIR, "final_subtyping_object.rds")) + +cat("\n========================================\n") +cat("Module 3 (advanced) pipeline finished successfully!\n") +cat("Optimal cluster numbers — K-means:", eval_km@evaluation_results$n_clusters, + "| LPA:", eval_lpa@evaluation_results$n_clusters, + "| NMF:", eval_nmf@evaluation_results$n_clusters, "\n") +cat("Best method by Silhouette score:", eval_summary$Method[which.max(eval_summary$Silhouette)], "\n") +cat("All results saved under:", OUTPUT_DIR, "\n") +cat("========================================\n") +```` diff --git a/module3-quickstart.qmd b/module3-quickstart.qmd new file mode 100644 index 0000000..0595cec --- /dev/null +++ b/module3-quickstart.qmd @@ -0,0 +1,191 @@ +# Module 3: Unsupervised Subtyping — Quick Start + +This chapter converts `stat_obj.rds` into icare's `Subtyping` object and uses non-negative matrix factorization (NMF) to discover and visualize candidate patient subtypes. Unlike a purely descriptive clustering result, the fitted NMF model can be retained and applied to new samples after the original preprocessing has been replayed. + +## Important Notes + +NMF requires non-negative numeric features. Exclude identifiers and known outcomes from the feature matrix, supply the correct group/ID columns to normalization, and verify that all remaining inputs are numeric. Interpret the number and meaning of subtypes with stability, external validation, and clinical relevance—not visualization alone. + +## Step-by-step Workflow + + + +The workflow is divided into short stages. Each note explains the purpose, key checks, and interpretation limits. Generated plots and tables appear directly below their code chunk. + +### Environment and Global Setup + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module3-quickstart-01 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# ============================================================================= +# icare Package Vignette — Module 3: Subtyping / Unsupervised Clustering +# QUICK-START EDITION +# ============================================================================= +# Audience : Users who just want to find and visualize subtypes in their +# data without comparing every clustering algorithm. +# Input : "stat_obj.rds", produced by Module 1 (data cleaning). +# +# This script uses NMF as the single clustering method, since it also +# produces a re-usable model for classifying new samples later. +# +# Looking for K-means/LPA comparisons, cluster validation, marker-feature +# heatmaps, or a deployment app? See "03_module3_subtyping_ADVANCED.R". +# ============================================================================= + +library(icare) +library(NMF) + +set.seed(123) + +# --------------------------------------------------------------------------- +```` + +### 1 Load the cleaned data and convert it into a Subtyping object + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module3-quickstart-02 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Load the cleaned data and convert it into a Subtyping object +# --------------------------------------------------------------------------- +stat_obj <- readRDS("stat_obj.rds") +sub_obj <- ConvertObject(stat_obj, to = "Subtyping") + +# min-max scaling: NMF requires non-negative input. +# IMPORTANT: pass the ACTUAL name of your outcome/ID column via `group_col` +# (default is "group") -- Sub_normalize_process() only excludes a column +# from scaling by an EXACT name match, and it never removes non-numeric +# columns from what it returns. If group_col doesn't match your real column +# name, or clean.data has any other non-numeric column (site, ID, free +# text...), it will silently survive into scale.data and later crash NMF +# deep inside with an unrelated-looking "'x' must be numeric" error. +# Replace "group" below with your real outcome column name if different. +features=colnames(sub_obj@scale.data)[colnames(sub_obj@scale.data)!='sex'] +sub_obj@clean.data <- sub_obj@clean.data[, features, drop = FALSE] +sub_obj <- Sub_normalize_process(sub_obj, normalize_method = "min_max", + group_col = "group") + +# Defensive check BEFORE clustering: make sure every remaining column is +# actually numeric. If this stops, the message tells you exactly which +# column(s) to exclude or fix group_col for. +non_numeric_cols <- names(sub_obj@scale.data)[!vapply(sub_obj@scale.data, is.numeric, logical(1))] +if (length(non_numeric_cols) > 0) { + stop("Non-numeric column(s) in scale.data: ", paste(non_numeric_cols, collapse = ", "), + ". Set group_col correctly above, or drop these columns from ", + "clean.data before calling Sub_normalize_process().") +} + +# Drop zero-variance columns (they can break the clustering step). +sub_obj@scale.data <- remove_constant_columns(sub_obj@scale.data) +# --------------------------------------------------------------------------- +```` + +### 2 Estimate the number of subtypes, then cluster + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module3-quickstart-03 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Estimate the number of subtypes, then cluster +# --------------------------------------------------------------------------- +sub_obj <- Sub_nmf_estimate(sub_obj, rank_range = 2:6, nrun = 5, method = "brunet") +sub_obj <- Sub_nmf_best_rank(sub_obj, nrun = 5, method = "brunet") +cat("Optimal number of subtypes:", sub_obj@Optimal.cluster, "\n") + +sub_obj <- Sub_nmf_assign_subtypes(sub_obj) +print(table(sub_obj@info.data$cluster_nmf)) + +# --------------------------------------------------------------------------- +```` + +### 3 Visualize the subtypes + +This section creates exploratory and reporting figures. Plots appear below the code and are also saved as vector PDFs for publication. + +````{r} +#| label: module3-quickstart-04 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Visualize the subtypes +# --------------------------------------------------------------------------- +sub_obj <- Sub_tsne_analyse(sub_obj, use_scaled_data = TRUE) +PlotDimReduction(sub_obj, reduction = "tsne", color_by = "cluster_nmf", + palette_name = "Zissou1", save_plot = TRUE) + +# --------------------------------------------------------------------------- +```` + +### 4 Check cluster quality and find marker features + +This section evaluates quality and robustness. Interpret plots, metrics, and sample distributions together. + +````{r} +#| label: module3-quickstart-05 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Check cluster quality and find marker features +# --------------------------------------------------------------------------- +sub_obj@clustered.data$group <- sub_obj@info.data$cluster_nmf +eval_result <- Sub_evaluation_results(sub_obj, seed = 123) +print(eval_result@evaluation_results) + +deg_df <- sub_obj@clean.data +deg_df$subtype <- factor(sub_obj@info.data$cluster_nmf) +multi_deg <- batch_Wilcoxon_MultiClass(mat = deg_df, group_col = "subtype", only.pos = FALSE) + +tryCatch( + PlotClusterHeatmap( + sub_obj, p_cutoff = 2, deg_df = multi_deg, top_n = 5, + group_by = "cluster_nmf", save_path = "./subtype_marker_heatmap.pdf" + ), + error = function(e) message( + "Sample-level subtype heatmap skipped because the macOS raster backend ", + "could not create its temporary image: ", e$message + ) +) + +# --------------------------------------------------------------------------- +```` + +### 5 Save your results + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module3-quickstart-06 +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Save your results +# --------------------------------------------------------------------------- +saveRDS(sub_obj, file = "subtyping_obj.rds") + +cat("\nDone! subtyping_obj.rds saved.\n", + "Want to compare K-means/LPA, validate clusters more thoroughly,", + "or deploy a prediction app? See the ADVANCED version of this script.\n") +```` diff --git a/module4-advanced.qmd b/module4-advanced.qmd new file mode 100644 index 0000000..50119ee --- /dev/null +++ b/module4-advanced.qmd @@ -0,0 +1,759 @@ +# Module 4: Survival and Prognostic Modeling — Advanced + +Using the PMID37633276 example data, the advanced `PrognosiX` workflow keeps development and validation cohorts separate and covers univariable Cox and LASSO-based feature selection, survival-learner benchmarking, tuning, Kaplan–Meier risk groups, subgroup analysis, time-dependent AUC, calibration, nomograms, robustness checks, decision curves, SHAP, and deployment. + +## Important Notes + +The optional development check runs only when the referenced local package path exists; GitHub and installed-package users can leave it skipped. Main settings are in `OUTPUT_ROOT`, the analysis version, outcome definitions, and the data-import section. Fix the prediction horizons and clinical decision thresholds in the analysis plan before examining validation results. + +## Step-by-step Workflow + + + +The workflow is divided into short stages. Each note explains the purpose, key checks, and interpretation limits. Generated plots and tables appear directly below their code chunk. + +### Environment and Global Setup + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module4-advanced-01 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# ============================================================================= +# icare Package Vignette — Module 4: Survival / Prognosis Modeling (PrognosiX) +# ADVANCED / PUBLICATION EDITION — STRICT TRAIN/VALIDATION SPLIT +# ============================================================================= +# Audience : Advanced users building and validating a clinical survival model +# with all diagnostic and explanatory tools. +# Dataset : Custom Excel file from PMID37633276_DIA_plasmaproomic.xlsx. +# Replace the file path with your own data. +# Pipeline (all steps performed on TRAINING set, except final validation): +```` + +### 1 Build Stat object with time/status in info.data, convert to PrognosiX + +This section creates the icare analysis object that stores data, metadata, and workflow state for all later steps. + +````{r} +#| label: module4-advanced-02 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1) Build Stat object with time/status in info.data, convert to PrognosiX +```` + +### 2 Feature selection (multi-method, ONLY on training set) + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module4-advanced-03 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2) Feature selection (multi-method, ONLY on training set) +```` + +### 3 Train/Validation split, algorithm benchmarking, hyperparameter tuning + +This section creates training and validation sets. Restrict feature selection and parameter estimation to the training set to prevent leakage. + +````{r} +#| label: module4-advanced-04 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3) Train/Validation split, algorithm benchmarking, hyperparameter tuning +```` + +### 4 Model evaluation: KM curves, subgroup forest, time‑dependent AUC, + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-advanced-05 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4) Model evaluation: KM curves, subgroup forest, time‑dependent AUC, +# calibration, nomogram, external validation +```` + +### 5 Robustness checks: stability, ablation, sensitivity + +This section tests sensitivity to sampling, censoring, and feature changes. Robust conclusions should remain similar under reasonable perturbations. + +````{r} +#| label: module4-advanced-06 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5) Robustness checks: stability, ablation, sensitivity +```` + +### 6 Decision curve analysis (DCA) and SHAP explanations (on validation set) + +This section examines clinical utility and model explanations. Explanatory plots describe model behavior and do not establish causality. + +````{r} +#| label: module4-advanced-07 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6) Decision curve analysis (DCA) and SHAP explanations (on validation set) +```` + +### 7 Save final PrognosiX object + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module4-advanced-08 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7) Save final PrognosiX object +```` + +### 8 Deployment: prediction functions + interactive Shiny app + +This section applies the trained object to new samples. Validate input format, performance, and target population in an independent cohort before deployment. + +````{r} +#| label: module4-advanced-09 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8) Deployment: prediction functions + interactive Shiny app +# ============================================================================= +#devtools::document("../../icare-git/") +if (dir.exists("../../icare-git/")) devtools::check("../../icare-git/") +#devtools::install("../../icare-git/") +library(icare) +# --------------------------------------------------------------------------- +```` + +### 0 CONFIG & Environment Setup + +This section defines seeds, output paths, and dependencies. Update these paths and key parameters first when using new data. + +````{r} +#| label: module4-advanced-10 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 0. CONFIG & Environment Setup +# --------------------------------------------------------------------------- +set.seed(2025) + +# Define version and output root +VERSION <- "Advanced" +OUTPUT_ROOT <- "./PrognosiX_Output" +OUTPUT_DIR <- file.path(OUTPUT_ROOT, VERSION) + +# Helper to create subdirectories +sub_dir <- function(...) { + d <- file.path(OUTPUT_DIR, ...) + dir.create(d, showWarnings = FALSE, recursive = TRUE) + d +} + +# Create version root and standard subfolders +sub_dir() +sub_dir("data") +sub_dir("01_feature_selection") +sub_dir("02_model") +sub_dir("03_evaluation") +sub_dir("04_robustness") +sub_dir("05_xai") + +# Load required packages +library(icare) +required_pkgs <- c("mlr3", "mlr3proba", "mlr3viz", "mlr3learners", + "survival", "survminer", "ggplot2", "caret", "dplyr", + "tidyr", "rms", "risksetROC", "survex", "dcurves", + "readxl", "patchwork", "ggrepel", "maxstat") +missing_pkgs <- required_pkgs[!sapply(required_pkgs, requireNamespace, quietly = TRUE)] +if (length(missing_pkgs)) install.packages(missing_pkgs) +invisible(lapply(required_pkgs, library, character.only = TRUE)) + +# --------------------------------------------------------------------------- +```` + +### 1 Data Preparation (custom Excel data) + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module4-advanced-11 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Data Preparation (custom Excel data) +# --------------------------------------------------------------------------- +raw_dis <- as.data.frame(read_excel("data/PMID37633276_DIA_plasmaproomic.xlsx", sheet = 3)) +raw_dis <- raw_dis[!grepl(x = raw_dis$`Case ID`, pattern = "^KC"), ] + +# Extract numeric features +mat <- raw_dis[, c("White blood cell count", + "Lymphocytes%", "Monocytes%", "Neutrophilic granulocyte%", "Eosinophil%", + "Basophil%", "Lymphocytes count", "Monocytes count", "Neutrophilic granulocyte count", + "Eosinophil count", "Basophil count", "Red blood cell count", + "Hemoglobin", "Hematocrit", "Mean red blood cell volume", "Mean cell hemoglobin", + "Mean corpuscular hemoglobin concentration", "Red blood cell distribution width CV", + "Red blood cell distribution width SD", "Platelet count", "Mean platelet volume", + "PCT", "Platelet volume distribution width")] + +index <- grepl(x = raw_dis$`Case ID`, pattern = "^HC") + +inf <- raw_dis[, c("Case ID", "Sample type", "Plasma proteome ID", "Tissue proteome ID", + "Gender", "Age at diagnosis", "Tobacco smoking history", "Drinking history", + "Vital status", "Days to last followup", "Days until death", + "Combined days to last followup or death", "Progressive-free survival_Status", + "Progressive-free survival_Months", "Tumor location", "Tumor size (cm)", + "T-category", "Lymph node involvement", "Distant metastasis", + "TNM Stage", "Grade", "Morphology")] + +inf$group <- ifelse(index, '0', '1') +mat$group <- inf$group +mat <- as.matrix(mat) +storage.mode(mat) <- "numeric" + +rownames(mat) <- inf$`Case ID` +rownames(inf) <- inf$`Case ID` +mat <- as.data.frame(mat) +mat$age <- inf$`Age at diagnosis` +mat$sex <- inf$Gender + +inf$time <- inf$`Combined days to last followup or death` +inf$event <- inf$`Vital status` +inf$event <- ifelse(inf$event == "Dead", 0, 1) + +inf <- inf[inf$group == 1, ] +mat <- mat[rownames(inf), ] +mat$time <- inf$time +mat$status <- inf$event + +stat_obj <- CreateStatObject( + clean.data = mat, + info.data = inf, + group_col = "group", + na.action = "allow" +) +cat("Stat object created.\n") + +prog <- Stat_to_PrognosiX(stat_obj, "time", "status", + na_action = "omit", + min_events = 10, + verbose = TRUE) + +# --------------------------------------------------------------------------- +```` + +### 2 Feature Selection (ONLY on training set) + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module4-advanced-12 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Feature Selection (ONLY on training set) +# --------------------------------------------------------------------------- +task_full <- surv_extract_task(prog) +n <- task_full$nrow +train_idx <- caret::createDataPartition(task_full$data()[[task_full$target_names[2]]], + p = 0.7, list = FALSE) +val_idx <- setdiff(seq_len(n), train_idx) + +train_task <- task_full$clone()$filter(train_idx) +val_task <- task_full$clone()$filter(val_idx) + +methods_to_run <- c("uni_cox", "lasso", "rf_imp", "ridge", "enet", "vimp") +feat_sel <- surv_feature_selection_multi( + object = train_task, + methods = methods_to_run, + p_threshold = 0.1, + top_ratio = 0.5, + combine = "union", + verbose = TRUE +) +selected_feats <- feat_sel$selected +cat("Selected features:", paste(selected_feats, collapse = ", "), "\n") +write.csv(feat_sel$method_table, + file = file.path(sub_dir("01_feature_selection"), "feature_selection_methods.csv"), + row.names = FALSE) + +train_task <- train_task$select(selected_feats) +val_task <- val_task$select(selected_feats) + +# Save train/validation data +train_data <- as.data.frame(train_task$data()) +val_data <- as.data.frame(val_task$data()) +write.csv(train_data, file = file.path(sub_dir("data"), "training_data.csv"), row.names = FALSE) +write.csv(val_data, file = file.path(sub_dir("data"), "validation_data.csv"), row.names = FALSE) + +# --------------------------------------------------------------------------- +```` + +### 3 Algorithm Benchmarking & Hyperparameter Tuning + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-advanced-13 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Algorithm Benchmarking & Hyperparameter Tuning +# --------------------------------------------------------------------------- +learners_list <- list( + surv_get_learner("surv.coxph", train_task), + surv_get_learner("surv.cv_glmnet", train_task), + surv_get_learner("surv.ranger", train_task) +) +bmr1 <- surv_run_algorithm_benchmark(train_task, learners_list) +dev.new() +bmr2 <- surv_benchmark_learners(train_task, learner_ids = c("surv.coxph", "surv.ranger"), tune = FALSE) +bmr2_summary <- surv_summarize_benchmark(bmr2) +write.csv(bmr2_summary, file = file.path(sub_dir("02_model"), "algorithm_benchmark.csv"), row.names = FALSE) + +best_id <- "surv.ranger" +tune <- surv_train_and_tune(train_task, best_id, tuning_budget = 25) +best_lrn <- tune$learner +cv_cindex <- tune$cv_performance +cat("CV C-index after tuning:", round(cv_cindex, 4), "\n") + +# --------------------------------------------------------------------------- +```` + +### 4 Model Evaluation + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-advanced-14 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Model Evaluation +# --------------------------------------------------------------------------- +best_lrn$predict_type <- "distr" +train_perf <- surv_evaluate_model(best_lrn, train_task, + measures = list(msr("surv.cindex"), msr("surv.graf"))) +cat("Training apparent C-index:", round(train_perf$surv.cindex, 4), "\n") + +val_pred <- best_lrn$predict(val_task) +val_cindex <- val_pred$score(msr("surv.cindex")) +cat("Validation C-index:", round(val_cindex, 4), "\n") + +# Save performance metrics +perf_df <- data.frame( + Dataset = c("Training", "Validation"), + C_index = c(train_perf$surv.cindex, val_cindex) +) +write.csv(perf_df, file = file.path(sub_dir("03_evaluation"), "performance.csv"), row.names = FALSE) + +# ---- 4.1 KM Curves ---- +# IMPORTANT: The following KM curves and the cutoff derived from the training set +# are APPARENT (optimistic) performance. They are useful for internal exploration +# but MUST be re‑evaluated on an independent validation set before reporting. +pred_train <- best_lrn$predict(train_task) +cut_df <- as.data.frame(train_task$data()) +cut_df$risk <- pred_train$crank + +# Compute optimal cutoff using multiple methods. +# For publication, consider using 'maxstat' (Hothorn & Lausen, 2003) with +# bootstrap resampling to obtain a stable, data‑driven threshold. +# The 'p_optimize' method is also provided for historical consistency. +cut_res <- tryCatch({ + surv_cutpoint(cut_df, time = "time", event = "status", variables = "risk") +}, error = function(e) { + warning("surv_cutpoint failed: ", e$message, ". Using median split.") + list(cutpoint = data.frame(cutpoint = median(cut_df$risk, na.rm = TRUE))) +}) +opt_cutoff <- cut_res$cutpoint$cutpoint +cat("Optimal cutoff (from surv_cutpoint):", round(opt_cutoff, 4), "\n") + +# Generate KM plots for different cutoff methods +# Note: 'p_optimize' and 'maxstat' use bootstrap/maximally selected statistics +# and are exploratory; their p‑values should not be used as confirmatory. +km_median <- surv_plot_risk_km(best_lrn, train_task, "median", risk_table = TRUE) +km_tertile <- surv_plot_risk_km(best_lrn, train_task, "tertile") +km_quartile <- surv_plot_risk_km(best_lrn, train_task, "quartile") +km_p_optimize <- surv_plot_risk_km(best_lrn, train_task, "p_optimize", + n_boot = 100, fraction = 0.7) +km_maxstat <- surv_plot_risk_km(best_lrn, train_task, "maxstat", + n_boot = 100, minprop = 0.3) + +# Save training KM plots +print(km_median) + +print(km_tertile) + +print(km_quartile) + +print(km_p_optimize) + +print(km_maxstat) + +# Apply a fixed cutoff (here we use the median from training) to the validation set +train_cutoff <- get_cf(km_median) +if (is.null(train_cutoff)) train_cutoff <- opt_cutoff +km_val_fixed <- surv_plot_risk_km(best_lrn, val_task, + cutoff_method = "custom", + custom_cutoffs = train_cutoff, + risk_table = TRUE) + +print(km_val_fixed) + +# ---- 4.2 Subgroup Forest (FIXED: use subsetted prog) ---- +# Subset prog to training samples to match train_task rows +train_prog <- prog +train_prog@clean.data <- prog@clean.data[train_idx, , drop = FALSE] +train_prog@info.data <- prog@info.data[train_idx, , drop = FALSE] +train_prog@survival.data <- prog@survival.data[train_idx, , drop = FALSE] + +clinical_cols <- colnames(train_prog@info.data) +candidate_vars <- c("Gender", "Tobacco.smoking.history", "Drinking.history", "TNM.Stage") +subgroup_vars <- intersect(candidate_vars, clinical_cols) + +forest <- surv_plot_subgroup_forest( + learner = best_lrn, + object = train_task, + subgroup_vars = subgroup_vars, + prog = train_prog, + save_plot = TRUE, + save_dir = sub_dir("03_evaluation"), + file_name = "subgroup_forest.pdf" +) +print(forest) + +# ---- 4.3 Time-dependent AUC ---- +# Note: These are also apparent performance when computed on the training set. +auc_train <- surv_plot_time_dependent_auc(best_lrn, train_task) +auc_val <- surv_plot_time_dependent_auc(best_lrn, val_task) +auc_cmp <- surv_plot_comparison_auc(best_lrn, train_task, val_task) +ggsave(file.path(sub_dir("03_evaluation"), "AUC_comparison.pdf"), auc_cmp, width = 8, height = 5) + +# ---- 4.4 Calibration ---- +cal_train <- surv_plot_calibration(best_lrn, train_task, time_point = 200) +cal_cmp <- surv_plot_comparison_calibration(best_lrn, train_task, val_task, time_point = 200) +ggsave(file.path(sub_dir("03_evaluation"), "Calibration_train.pdf"), cal_train, width = 8, height = 6) +ggsave(file.path(sub_dir("03_evaluation"), "Calibration_comparison.pdf"), cal_cmp, width = 8, height = 6) + +# ---- 4.5 External Validation (using validation set) ---- +val_data_ext <- as.data.frame(task_full$data())[val_idx, selected_feats, drop = FALSE] +val_data_ext$time <- task_full$data()[[task_full$target_names[1]]][val_idx] +val_data_ext$status <- task_full$data()[[task_full$target_names[2]]][val_idx] +val_res <- surv_predict_on_validation(best_lrn, val_data_ext, train_task) +val_cindex_alt <- val_res$prediction$score(msr("surv.cindex")) +cat("Validation C-index (alt):", round(val_cindex_alt, 4), "\n") + +# ---- 4.6 Nomogram ---- +# The revized surv_generate_nomogram now includes a proportional hazards test +# (cox.zph) which will be printed to the console. If any variable violates +# the PH assumption, a warning is shown. +nom <- surv_generate_nomogram(train_task, + selected_features = head(selected_feats, 5), + time_points = c(90, 180, 365), + time_unit = "days") +# Nomogram is drawn; optionally save via pdf(). + +# --------------------------------------------------------------------------- +```` + +### 5 Robustness Analysis + +This section tests sensitivity to sampling, censoring, and feature changes. Robust conclusions should remain similar under reasonable perturbations. + +````{r} +#| label: module4-advanced-15 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Robustness Analysis +# --------------------------------------------------------------------------- +stab <- surv_analyze_feature_stability(train_task, "time", "status", n_repeat = 20, alpha = 1) +cat("Stability index:", round(stab$stability_index, 4), "\n") +ggsave(file.path(sub_dir("04_robustness"), "stability_plot.pdf"), stab$plot, width = 8, height = 6) +write.csv(stab$frequencies, file.path(sub_dir("04_robustness"), "stability_frequencies.csv"), row.names = FALSE) + +abl <- surv_analyze_feature_ablation(train_task, best_id, selected_feats) +ggsave(file.path(sub_dir("04_robustness"), "ablation_plot.pdf"), abl$plot, width = 8, height = 6) +write.csv(abl$results, file.path(sub_dir("04_robustness"), "ablation_results.csv"), row.names = FALSE) + +sens_sample <- surv_analyze_model_sensitivity(train_task, best_id, analysis_type = "sample_size") +sens_censor <- surv_analyze_model_sensitivity(train_task, best_id, analysis_type = "censoring") +ggsave(file.path(sub_dir("04_robustness"), "sensitivity_sample.pdf"), sens_sample$plot, width = 8, height = 5) +ggsave(file.path(sub_dir("04_robustness"), "sensitivity_censor.pdf"), sens_censor$plot, width = 8, height = 5) +write.csv(sens_sample$results, file.path(sub_dir("04_robustness"), "sensitivity_sample.csv"), row.names = FALSE) +write.csv(sens_censor$results, file.path(sub_dir("04_robustness"), "sensitivity_censor.csv"), row.names = FALSE) + +# --------------------------------------------------------------------------- +```` + +### 6 DCA & SHAP + +This section examines clinical utility and model explanations. Explanatory plots describe model behavior and do not establish causality. + +````{r} +#| label: module4-advanced-16 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6. DCA & SHAP +# --------------------------------------------------------------------------- +val_time <- val_task$data()[[val_task$target_names[1]]] +val_status <- val_task$data()[[val_task$target_names[2]]] +event_times <- val_time[val_status == 1] +if (length(event_times) == 0) stop("No events in validation set.") +eval_time <- round(quantile(event_times, 0.5, na.rm = TRUE), 0) +if (eval_time < min(event_times)) eval_time <- min(event_times) +cat("Using eval_time =", eval_time, "for DCA\n") + +dca_res <- plot_dca_survival( + learners = list("Tuned" = best_lrn), + object = val_task, + eval_time = eval_time, + clin_range = c(0.05, 0.5), + print_stats = TRUE +) + +ggsave(file.path(sub_dir("05_xai"), "dca_plot.pdf"), dca_res$plot, width = 7, height = 5) +write.csv(dca_res$table, file.path(sub_dir("05_xai"), "dca_table.csv"), row.names = FALSE) + +shap_global <- surv_explain_shap( + learner = best_lrn, + task = val_task, + type = "global", + n_explain = 30, + n_background = 10, + n_timepoints = 10, + n_top_features = 6, + verbose = TRUE +) +ggsave(file.path(sub_dir("05_xai"), "shap_global_bar.pdf"), shap_global$plots$bar_plot, width = 8, height = 6) +if (!is.null(shap_global$plots$line_plot)) { + ggsave(file.path(sub_dir("05_xai"), "shap_global_line.pdf"), shap_global$plots$line_plot, width = 8, height = 6) +} +write.csv(shap_global$shap_long, file.path(sub_dir("05_xai"), "shap_values_global.csv"), row.names = FALSE) + +beeswarm_plot <- surv_plot_shap_beeswarm(shap_global, top_n = 6, method = "beeswarm", + title = "Global SurvSHAP (validation set)") +ggsave(file.path(sub_dir("05_xai"), "shap_beeswarm.pdf"), beeswarm_plot, width = 9, height = 6) + +# --------------------------------------------------------------------------- +```` + +### 7 Save Final PrognosiX Object + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module4-advanced-17 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7. Save Final PrognosiX Object +# --------------------------------------------------------------------------- +prog@best.model <- list( + learner_id = best_id, + learner = best_lrn, + best_params = tune$best_params, + cv_cindex = cv_cindex, + features = selected_feats, + cutoff = opt_cutoff, + decision_type = "binary", + train_cols = train_task$feature_names +) +prog@subgroup.risk <- list( + benchmark_table = bmr1$table, + stability = stab, + ablation = abl, + validation = list(cindex = val_cindex, n = val_task$nrow) +) +prog@split.data <- list(train_idx = train_idx, val_idx = val_idx) +saveRDS(prog, file = file.path(sub_dir("data"), "prog_obj_final.rds")) + +# --------------------------------------------------------------------------- +```` + +### 8 Deployment + +This section applies the trained object to new samples. Validate input format, performance, and target population in an independent cohort before deployment. + +````{r} +#| label: module4-advanced-18 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8. Deployment +# --------------------------------------------------------------------------- +# --------------------------------------------------------------------------- +```` + +### 8 Deployment: Prediction for New Samples + +This section applies the trained object to new samples. Validate input format, performance, and target population in an independent cohort before deployment. + +````{r} +#| label: module4-advanced-19 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8. Deployment: Prediction for New Samples +# --------------------------------------------------------------------------- +# Instead of the veteran example, use actual rows from your training data +# (or real new data) that contain all selected features. +# For demonstration, we take the first 2 rows of the original feature matrix. +#new_patients <- data.frame( +# Mean_corpuscular_hemoglobin_concentration = c(33, 34), +# Basophil_count = c(0.02, 0.03), +# Monocytes = c(0.6, 0.7), +# Neutrophilic_granulocyte = c(4.2, 5.1), +# Red_blood_cell_distribution_width_CV = c(12.3, 11.8), +# Mean_red_blood_cell_volume = c(89, 92), +# Lymphocytes_count = c(1.8, 2.1), +# Platelet_volume_distribution_width = c(12.0, 13.1), +# Lymphocytes = c(1.8, 2.1), # note: this may be same as Lymphocytes_count? check your data +# Monocytes_count = c(0.6, 0.7), +# Neutrophilic_granulocyte_count = c(4.2, 5.1), +# Mean_platelet_volume = c(10.5, 11.0), +# row.names = c("patient_1", "patient_2") +#) + +# Features actually required by the fitted PrognosiX model +required_features <- prog@best.model$train_cols +cat("Required prediction features:\n") +print(required_features) +# Use actual training observations as deployment examples +new_patients <- as.data.frame(prog@clean.data[train_idx[1:2], , drop = FALSE]) +# Keep exactly the features required by the fitted model +new_patients <- new_patients[, required_features, drop = FALSE] +rownames(new_patients) <- c("patient_1", "patient_2") + +risk_scores <- predict_prognosix(prog, new_patients, impute = TRUE) +pred_groups_med <- predict_risk_groups(prog, new_patients, cutoff_method = "median") +pred_groups_cus <- predict_risk_groups(prog, new_patients, + cutoff_method = "custom", + custom_cutoffs = opt_cutoff) +cat("Risk scores:\n"); print(risk_scores) +cat("Median groups:\n"); print(pred_groups_med) +cat("Custom groups:\n"); print(pred_groups_cus) + +manager <- New_Prog_Manager(prog) + +if (interactive()) { + use_app_theme_grey() + set_prog_app_text( + title = "Survival Risk Predictor", + citation_text = "Data: PMID37633276_DIA_plasmaproomic cohort." + ) + set_prog_app_theme( + primary_color = "#2c7fb8", background_color = "#f0f4f8", sidebar_color = "#e9ecef", + box_background = "#ffffff", label_color = "#2c7fb8", + run_button_gradient_start = "#2c7fb8", run_button_gradient_end = "#1d4e6e", + risk_high_color = "#d9534f", risk_medium_color = "#f0ad4e", risk_low_color = "#5cb85c", + table_header_color = "#2c7fb8", font_family = "Arial, sans-serif", font_size_base = 14 + ) + launch_prog_deploy_app( + manager, + var_dict = data.frame( + Feature = selected_feats, + Description = paste("Predictor", seq_along(selected_feats)), + Units = rep("--", length(selected_feats)) + ), + project_info = list( + abstract = paste("Prognostic model trained on", train_task$nrow, "patients."), + citation = "PMID37633276_DIA_plasmaproomic cohort." + ) + ) +} + +# --------------------------------------------------------------------------- +```` + +### 9 Final Report + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module4-advanced-20 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 9. Final Report +# --------------------------------------------------------------------------- +cat("\n========================================\n") +cat("Module 4 (advanced, leakage‑free) finished successfully!\n") +cat("Best model:", best_id, + "| CV C-index (training):", round(cv_cindex, 4), + "| Validation C-index:", round(val_cindex, 4), "\n") +cat("Optimal cutoff:", round(opt_cutoff, 4), "\n") +cat("All results saved under:", OUTPUT_DIR, "\n") +cat("========================================\n") +```` diff --git a/module4-pro.qmd b/module4-pro.qmd new file mode 100644 index 0000000..abae520 --- /dev/null +++ b/module4-pro.qmd @@ -0,0 +1,997 @@ +# Module 4: PrognosiX Extended Workflow + +This extended `PrognosiX` workflow reflects the package's newer prognosis capabilities and supports full clinical prognostic-model development and validation. It adds competing risks, time-dependent ROC comparison, multi-time calibration, repeated cross-validation, C-index comparison, Bayesian tuning, AIC-guided selection, overall calibration, external-validation diagnostics, and deployment. + +## Execution Notes + +This workflow is computationally intensive and uses optional packages that are checked only when their methods are requested. Verify paths, outcome definitions, prediction horizons, the output root, and dependencies before running. Keep development and validation independent throughout, report uncertainty with point estimates, and distinguish exploratory comparisons from prespecified confirmatory analyses. + +## Step-by-step Workflow + + + +The workflow is divided into short stages. Each note explains the purpose, key checks, and interpretation limits. Generated plots and tables appear directly below their code chunk. + +### Environment and Global Setup + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module4-pro-01 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# ============================================================================= +# icare Package — Module 4: Survival / Prognosis Modeling (PrognosiX) +# ADVANCED / PUBLICATION EDITION — STRICT TRAIN/VALIDATION SPLIT +# ============================================================================= +# +# This is a complete, production‑ready pipeline for developing and validating +# a clinical survival model. It includes 10 advanced extensions covering +# model comparison, competing risks, multi‑time calibration, Bayesian tuning, +# clinical impact, and more – suitable for high‑impact journals. +# +# Pipeline structure: +```` + +### 0 Environment setup and path management + +This section defines seeds, output paths, and dependencies. Update these paths and key parameters first when using new data. + +````{r} +#| label: module4-pro-02 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 0. Environment setup and path management +```` + +### 1 Data preparation (split time/status into info.data) + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module4-pro-03 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Data preparation (split time/status into info.data) +```` + +### 2 Feature selection (multi‑method, training set only) + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module4-pro-04 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Feature selection (multi‑method, training set only) +```` + +### 3 Algorithm benchmarking and hyperparameter tuning + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-pro-05 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Algorithm benchmarking and hyperparameter tuning +```` + +### 4 Core model evaluation (KM, forest, time‑dependent AUC, calibration, nomogram) + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-pro-06 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Core model evaluation (KM, forest, time‑dependent AUC, calibration, nomogram) +```` + +### 5 Robustness analysis (stability, ablation, sensitivity) + +This section tests sensitivity to sampling, censoring, and feature changes. Robust conclusions should remain similar under reasonable perturbations. + +````{r} +#| label: module4-pro-07 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Robustness analysis (stability, ablation, sensitivity) +```` + +### 6 Decision curve analysis (DCA) and SHAP explanations + +This section examines clinical utility and model explanations. Explanatory plots describe model behavior and do not establish causality. + +````{r} +#| label: module4-pro-08 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6. Decision curve analysis (DCA) and SHAP explanations +```` + +### 7 Ten advanced extensions (all executed sequentially) + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module4-pro-09 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7. Ten advanced extensions (all executed sequentially) +```` + +### 8 Save final model and deployment (prediction + Shiny app) + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-pro-10 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8. Save final model and deployment (prediction + Shiny app) +```` + +### 9 Final report summary + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module4-pro-11 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 9. Final report summary +# ============================================================================= + +# --------------------------------------------------------------------------- +```` + +### 0 Environment and configuration + +This section defines seeds, output paths, and dependencies. Update these paths and key parameters first when using new data. + +````{r} +#| label: module4-pro-12 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 0. Environment and configuration +# --------------------------------------------------------------------------- +set.seed(2025) + +# Version and output root +VERSION <- "Advanced_extensions" +OUTPUT_ROOT <- "./PrognosiX_Output" +OUTPUT_DIR <- file.path(OUTPUT_ROOT, VERSION) + +# Helper to create subdirectories +sub_dir <- function(...) { + d <- file.path(OUTPUT_DIR, ...) + dir.create(d, showWarnings = FALSE, recursive = TRUE) + d +} + +# Create version root and standard subfolders +sub_dir() +sub_dir("data") +sub_dir("01_feature_selection") +sub_dir("02_model") +sub_dir("03_evaluation") +sub_dir("04_robustness") +sub_dir("05_xai") + +# Load required packages +library(icare) +required_pkgs <- c("mlr3", "mlr3proba", "mlr3viz", "mlr3learners", + "survival", "survminer", "ggplot2", "caret", "dplyr", + "tidyr", "rms", "risksetROC", "survex", "dcurves", + "readxl", "patchwork", "ggrepel", "maxstat") +missing_pkgs <- required_pkgs[!sapply(required_pkgs, requireNamespace, quietly = TRUE)] +if (length(missing_pkgs)) install.packages(missing_pkgs) +invisible(lapply(required_pkgs, library, character.only = TRUE)) + +# Additional packages for extensions (checked inside each function) +ext_pkgs <- c("mlr3extralearners", "survcomp", "mlr3mbo", "bbotk", "MASS", "glmnet") +for (pkg in ext_pkgs) { + if (!requireNamespace(pkg, quietly = TRUE)) { + message("Note: Package '", pkg, "' not installed. Some advanced extensions may be skipped.") + } +} + +# --------------------------------------------------------------------------- +```` + +### 1 Data preparation (move time/status to info.data) + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module4-pro-13 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Data preparation (move time/status to info.data) +# --------------------------------------------------------------------------- +raw_dis <- as.data.frame(read_excel("data/PMID37633276_DIA_plasmaproomic.xlsx", sheet = 3)) +raw_dis <- raw_dis[!grepl(x = raw_dis$`Case ID`, pattern = "^KC"), ] + +# Extract numeric features (laboratory parameters) +mat <- raw_dis[, c("White blood cell count", + "Lymphocytes%", "Monocytes%", "Neutrophilic granulocyte%", "Eosinophil%", + "Basophil%", "Lymphocytes count", "Monocytes count", "Neutrophilic granulocyte count", + "Eosinophil count", "Basophil count", "Red blood cell count", + "Hemoglobin", "Hematocrit", "Mean red blood cell volume", "Mean cell hemoglobin", + "Mean corpuscular hemoglobin concentration", "Red blood cell distribution width CV", + "Red blood cell distribution width SD", "Platelet count", "Mean platelet volume", + "PCT", "Platelet volume distribution width")] + +index <- grepl(x = raw_dis$`Case ID`, pattern = "^HC") + +# Clinical metadata (including time, status, and subgroup variables) +inf <- raw_dis[, c("Case ID", "Sample type", "Plasma proteome ID", "Tissue proteome ID", + "Gender", "Age at diagnosis", "Tobacco smoking history", "Drinking history", + "Vital status", "Days to last followup", "Days until death", + "Combined days to last followup or death", "Progressive-free survival_Status", + "Progressive-free survival_Months", "Tumor location", "Tumor size (cm)", + "T-category", "Lymph node involvement", "Distant metastasis", + "TNM Stage", "Grade", "Morphology")] + +inf$group <- ifelse(index, '0', '1') +mat$group <- inf$group +mat <- as.matrix(mat) +storage.mode(mat) <- "numeric" + +rownames(mat) <- inf$`Case ID` +rownames(inf) <- inf$`Case ID` +mat <- as.data.frame(mat) +mat$age <- inf$`Age at diagnosis` +mat$sex <- inf$Gender + +inf$time <- inf$`Combined days to last followup or death` +inf$event <- inf$`Vital status` +inf$event <- ifelse(inf$event == "Dead", 0, 1) + +# Keep only disease samples (group == 1) +inf <- inf[inf$group == 1, ] +mat <- mat[rownames(inf), ] +mat$time <- inf$time +mat$status <- inf$event + +# Build Stat object with clean.data (features) and info.data (metadata including time/status) +stat_obj <- CreateStatObject( + clean.data = mat, + info.data = inf, + group_col = "group", + na.action = "allow" +) +cat("Stat object created.\n") + +# Convert to PrognosiX: time/status are moved to info.data automatically +prog <- Stat_to_PrognosiX(stat_obj, "time", "status", + na_action = "omit", + min_events = 10, + verbose = TRUE) + +# --------------------------------------------------------------------------- +```` + +### 2 Feature selection (ONLY on training set) + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module4-pro-14 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Feature selection (ONLY on training set) +# --------------------------------------------------------------------------- +task_full <- surv_extract_task(prog) +n <- task_full$nrow +train_idx <- caret::createDataPartition(task_full$data()[[task_full$target_names[2]]], + p = 0.7, list = FALSE) +val_idx <- setdiff(seq_len(n), train_idx) + +train_task <- task_full$clone()$filter(train_idx) +val_task <- task_full$clone()$filter(val_idx) + +# Multi‑method feature selection: univariate Cox, LASSO, RF importance, Ridge, Elastic Net, VIMP +methods_to_run <- c("uni_cox", "lasso", "rf_imp", "ridge", "enet", "vimp") +feat_sel <- surv_feature_selection_multi( + object = train_task, + methods = methods_to_run, + p_threshold = 0.1, + top_ratio = 0.5, + combine = "union", + verbose = TRUE +) +selected_feats <- feat_sel$selected +cat("Selected features:", paste(selected_feats, collapse = ", "), "\n") +write.csv(feat_sel$method_table, + file = file.path(sub_dir("01_feature_selection"), "feature_selection_methods.csv"), + row.names = FALSE) + +train_task <- train_task$select(selected_feats) +val_task <- val_task$select(selected_feats) + +# Save train/validation data for reproducibility +train_data <- as.data.frame(train_task$data()) +val_data <- as.data.frame(val_task$data()) +write.csv(train_data, file = file.path(sub_dir("data"), "training_data.csv"), row.names = FALSE) +write.csv(val_data, file = file.path(sub_dir("data"), "validation_data.csv"), row.names = FALSE) + +# --------------------------------------------------------------------------- +```` + +### 3 Algorithm benchmarking and hyperparameter tuning + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-pro-15 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Algorithm benchmarking and hyperparameter tuning +# --------------------------------------------------------------------------- +# Compare Cox, LASSO, and Random Survival Forest (Ranger) +learners_list <- list( + surv_get_learner("surv.coxph", train_task), + surv_get_learner("surv.cv_glmnet", train_task), + surv_get_learner("surv.ranger", train_task) +) +bmr1 <- surv_run_algorithm_benchmark(train_task, learners_list) +bmr2 <- surv_benchmark_learners(train_task, learner_ids = c("surv.coxph", "surv.ranger"), tune = FALSE) +bmr2_summary <- surv_summarize_benchmark(bmr2) +write.csv(bmr2_summary, file = file.path(sub_dir("02_model"), "algorithm_benchmark.csv"), row.names = FALSE) + +# Select the best model (here Ranger) and perform hyperparameter tuning +best_id <- "surv.ranger" +tune <- surv_train_and_tune(train_task, best_id, tuning_budget = 25) +best_lrn <- tune$learner +cv_cindex <- tune$cv_performance +cat("CV C-index after tuning:", round(cv_cindex, 4), "\n") + +# Train a Cox model for comparison (used in extensions) +cox_lrn <- surv_get_learner("surv.coxph", train_task)$train(train_task) + +# --------------------------------------------------------------------------- +```` + +### 4 Core model evaluation + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-pro-16 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Core model evaluation +# --------------------------------------------------------------------------- +# Warning: if no independent validation data is provided, some metrics are apparent +if (is.null(val_data)) { + msg <- paste( + "\n", + "==================== WARNING ====================\n", + "No external validation data (`val_data`) provided.\n", + "KM curves, time‑dependent AUC, and nomogram will be\n", + "computed on the TRAINING SET – these are apparent\n", + "(optimistic) estimates. Do not report as generalizable.\n", + "==================================================\n" + ) + warning(msg, call. = FALSE, immediate. = TRUE) + message(msg) +} + +# Training set (apparent) performance +best_lrn$predict_type <- "distr" +train_perf <- surv_evaluate_model(best_lrn, train_task, + measures = list(msr("surv.cindex"), msr("surv.graf"))) +cat("Training apparent C-index:", round(train_perf$surv.cindex, 4), "\n") + +# Validation set (unbiased) performance +val_pred <- best_lrn$predict(val_task) +val_cindex <- val_pred$score(msr("surv.cindex")) +cat("Validation C-index:", round(val_cindex, 4), "\n") + +# Save performance metrics +perf_df <- data.frame( + Dataset = c("Training", "Validation"), + C_index = c(train_perf$surv.cindex, val_cindex) +) +write.csv(perf_df, file = file.path(sub_dir("03_evaluation"), "performance.csv"), row.names = FALSE) + +# ---- 4.1 Risk stratification KM curves (multiple cutoff methods) ---- +pred_train <- best_lrn$predict(train_task) +cut_df <- as.data.frame(train_task$data()) +cut_df$risk <- pred_train$crank + +# Compute optimal cutoff using surv_cutpoint; fallback to median if fails +cut_res <- tryCatch({ + surv_cutpoint(cut_df, time = "time", event = "status", variables = "risk") +}, error = function(e) { + warning("surv_cutpoint failed: ", e$message, ". Using median split.") + list(cutpoint = data.frame(cutpoint = median(cut_df$risk, na.rm = TRUE))) +}) +opt_cutoff <- cut_res$cutpoint$cutpoint +cat("Optimal cutoff (from surv_cutpoint):", round(opt_cutoff, 4), "\n") + +# Generate KM plots for four cutoff methods +# p_optimize and maxstat are exploratory; their p-values should not be used as confirmatory +km_median <- surv_plot_risk_km(best_lrn, train_task, "median", risk_table = TRUE) +km_tertile <- surv_plot_risk_km(best_lrn, train_task, "tertile") +km_quartile <- surv_plot_risk_km(best_lrn, train_task, "quartile") +km_p_optimize <- surv_plot_risk_km(best_lrn, train_task, "p_optimize", + n_boot = 100, fraction = 0.7) +km_maxstat <- surv_plot_risk_km(best_lrn, train_task, "maxstat", + n_boot = 100, minprop = 0.3) + +# Save training KM plots + +print(km_median) +print(km_tertile) +print(km_quartile) +print(km_p_optimize) +print(km_maxstat) + +# Apply the training median cutoff to the validation set (fixed threshold) +train_cutoff <- get_cf(km_median) +if (is.null(train_cutoff)) train_cutoff <- opt_cutoff +km_val_fixed <- surv_plot_risk_km(best_lrn, val_task, + cutoff_method = "custom", + custom_cutoffs = train_cutoff, + risk_table = TRUE) +print(km_val_fixed) + +# ---- 4.2 Subgroup forest plot (using training set) ---- +# Subset prog to training samples to ensure row consistency +train_prog <- prog +train_prog@clean.data <- prog@clean.data[train_idx, , drop = FALSE] +train_prog@info.data <- prog@info.data[train_idx, , drop = FALSE] +train_prog@survival.data <- prog@survival.data[train_idx, , drop = FALSE] + +clinical_cols <- colnames(train_prog@info.data) +candidate_vars <- c("Gender", "Tobacco.smoking.history", "Drinking.history", "TNM.Stage") +subgroup_vars <- intersect(candidate_vars, clinical_cols) + +forest <- surv_plot_subgroup_forest( + learner = best_lrn, + object = train_task, + subgroup_vars = subgroup_vars, + prog = train_prog, + save_plot = TRUE, + save_dir = sub_dir("03_evaluation"), + file_name = "subgroup_forest.pdf" +) +print(forest) + +# ---- 4.3 Time‑dependent AUC (training vs validation) ---- +auc_train <- surv_plot_time_dependent_auc(best_lrn, train_task) +auc_val <- surv_plot_time_dependent_auc(best_lrn, val_task) +auc_cmp <- surv_plot_comparison_auc(best_lrn, train_task, val_task) +ggsave(file.path(sub_dir("03_evaluation"), "AUC_comparison.pdf"), auc_cmp, width = 8, height = 5) + +# ---- 4.4 Calibration curves (training vs validation) ---- +cal_train <- surv_plot_calibration(best_lrn, train_task, time_point = 200) +cal_cmp <- surv_plot_comparison_calibration(best_lrn, train_task, val_task, time_point = 200) +ggsave(file.path(sub_dir("03_evaluation"), "Calibration_train.pdf"), cal_train, width = 8, height = 6) +ggsave(file.path(sub_dir("03_evaluation"), "Calibration_comparison.pdf"), cal_cmp, width = 8, height = 6) + +# ---- 4.5 External validation (using the validation set) ---- +val_data_ext <- as.data.frame(task_full$data())[val_idx, selected_feats, drop = FALSE] +val_data_ext$time <- task_full$data()[[task_full$target_names[1]]][val_idx] +val_data_ext$status <- task_full$data()[[task_full$target_names[2]]][val_idx] +val_res <- surv_predict_on_validation(best_lrn, val_data_ext, train_task) +val_cindex_alt <- val_res$prediction$score(msr("surv.cindex")) +cat("Validation C-index (alt):", round(val_cindex_alt, 4), "\n") + +# ---- 4.6 Nomogram (with proportional hazards test) ---- +nom <- surv_generate_nomogram(train_task, + selected_features = head(selected_feats, 5), + time_points = c(90, 180, 365), + time_unit = "days") +# The nomogram plot is drawn; PH test results are printed to console. + +# --------------------------------------------------------------------------- +```` + +### 5 Robustness analysis + +This section tests sensitivity to sampling, censoring, and feature changes. Robust conclusions should remain similar under reasonable perturbations. + +````{r} +#| label: module4-pro-17 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Robustness analysis +# --------------------------------------------------------------------------- +```` + +### 5.1 Feature stability (LASSO bootstrapping) + +This section tests sensitivity to sampling, censoring, and feature changes. Robust conclusions should remain similar under reasonable perturbations. + +````{r} +#| label: module4-pro-18 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5.1 Feature stability (LASSO bootstrapping) +stab <- surv_analyze_feature_stability(train_task, "time", "status", n_repeat = 20, alpha = 1) +cat("Stability index:", round(stab$stability_index, 4), "\n") +ggsave(file.path(sub_dir("04_robustness"), "stability_plot.pdf"), stab$plot, width = 8, height = 6) +write.csv(stab$frequencies, file.path(sub_dir("04_robustness"), "stability_frequencies.csv"), row.names = FALSE) + +```` + +### 5.2 Feature ablation (drop each feature and measure C-index drop) + +This section tests sensitivity to sampling, censoring, and feature changes. Robust conclusions should remain similar under reasonable perturbations. + +````{r} +#| label: module4-pro-19 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5.2 Feature ablation (drop each feature and measure C-index drop) +abl <- surv_analyze_feature_ablation(train_task, best_id, selected_feats) +ggsave(file.path(sub_dir("04_robustness"), "ablation_plot.pdf"), abl$plot, width = 8, height = 6) +write.csv(abl$results, file.path(sub_dir("04_robustness"), "ablation_results.csv"), row.names = FALSE) + +```` + +### 5.3 Model sensitivity (sample size and censoring rate) + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-pro-20 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5.3 Model sensitivity (sample size and censoring rate) +sens_sample <- surv_analyze_model_sensitivity(train_task, best_id, analysis_type = "sample_size") +sens_censor <- surv_analyze_model_sensitivity(train_task, best_id, analysis_type = "censoring") +ggsave(file.path(sub_dir("04_robustness"), "sensitivity_sample.pdf"), sens_sample$plot, width = 8, height = 5) +ggsave(file.path(sub_dir("04_robustness"), "sensitivity_censor.pdf"), sens_censor$plot, width = 8, height = 5) +write.csv(sens_sample$results, file.path(sub_dir("04_robustness"), "sensitivity_sample.csv"), row.names = FALSE) +write.csv(sens_censor$results, file.path(sub_dir("04_robustness"), "sensitivity_censor.csv"), row.names = FALSE) + +# --------------------------------------------------------------------------- +```` + +### 6 Decision curve analysis (DCA) and SHAP explanations (on validation set) + +This section examines clinical utility and model explanations. Explanatory plots describe model behavior and do not establish causality. + +````{r} +#| label: module4-pro-21 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6. Decision curve analysis (DCA) and SHAP explanations (on validation set) +# --------------------------------------------------------------------------- +# Determine a valid evaluation time from validation event times +val_time <- val_task$data()[[val_task$target_names[1]]] +val_status <- val_task$data()[[val_task$target_names[2]]] +event_times <- val_time[val_status == 1] +if (length(event_times) == 0) stop("No events in validation set.") +eval_time <- round(quantile(event_times, 0.5, na.rm = TRUE), 0) +if (eval_time < min(event_times)) eval_time <- min(event_times) +cat("Using eval_time =", eval_time, "for DCA\n") + +# DCA +dca_res <- plot_dca_survival( + learners = list("Tuned" = best_lrn), + object = val_task, + eval_time = eval_time, + clin_range = c(0.05, 0.5), + print_stats = TRUE +) +ggsave(file.path(sub_dir("05_xai"), "dca_plot.pdf"), dca_res$plot, width = 7, height = 5) +write.csv(dca_res$table, file.path(sub_dir("05_xai"), "dca_table.csv"), row.names = FALSE) + +# Global SHAP (SurvSHAP(t)) +shap_global <- surv_explain_shap( + learner = best_lrn, + task = val_task, + type = "global", + n_explain = 30, + n_background = 10, + n_timepoints = 10, + n_top_features = 6, + verbose = TRUE +) +ggsave(file.path(sub_dir("05_xai"), "shap_global_bar.pdf"), shap_global$plots$bar_plot, width = 8, height = 6) +if (!is.null(shap_global$plots$line_plot)) { + ggsave(file.path(sub_dir("05_xai"), "shap_global_line.pdf"), shap_global$plots$line_plot, width = 8, height = 6) +} +write.csv(shap_global$shap_long, file.path(sub_dir("05_xai"), "shap_values_global.csv"), row.names = FALSE) + +# Beeswarm plot +beeswarm_plot <- surv_plot_shap_beeswarm(shap_global, top_n = 6, method = "beeswarm", + title = "Global SurvSHAP (validation set)") +ggsave(file.path(sub_dir("05_xai"), "shap_beeswarm.pdf"), beeswarm_plot, width = 9, height = 6) + +# ============================================================================= +```` + +### 7 Ten advanced extensions (all executed sequentially) + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module4-pro-22 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7. Ten advanced extensions (all executed sequentially) +# ============================================================================= +cat("\n========== Running 10 advanced extensions ==========\n") + +# ---- 7.1 Competing risks (Fine‑Gray or cause‑specific Cox) ---- +# Purpose: Correctly estimate cumulative incidence when competing events exist. +# Method: Fine‑Gray via mlr3extralearners or cause‑specific Cox. +cat("\n--- 7.1 Competing risks (Fine‑Gray / cause‑specific Cox) ---\n") +if (requireNamespace("mlr3extralearners", quietly = TRUE)) { + fg_res <- tryCatch({ + run_competing_risks(prog, model_type = "finegray", cause = 1, tuning_budget = 20) + }, error = function(e) { + cat("Competing risks failed:", e$message, "\n") + NULL + }) + if (!is.null(fg_res)) { + cat("Fine‑Gray CV C-index:", round(fg_res$cv_cindex, 4), "\n") + saveRDS(fg_res, file.path(sub_dir("05_xai"), "competing_risks.rds")) + } +} else { + cat("Skipping (mlr3extralearners not installed).\n") +} + +# ---- 7.2 Time‑dependent ROC comparison (Ranger vs Cox) ---- +# Purpose: Compare AUC trajectories and obtain bootstrap confidence intervals. +# Method: timeROC with bootstrapping. +cat("\n--- 7.2 Time‑dependent ROC comparison (Ranger vs Cox) ---\n") +td_roc <- tryCatch({ + plot_tdROC_comparison(best_lrn, cox_lrn, val_task, n_boot = 50, save_plot = TRUE) +}, error = function(e) { + cat("tdROC comparison failed:", e$message, "\n") + NULL +}) + +# ---- 7.3 Multi‑time calibration curves ---- +# Purpose: Assess calibration at multiple clinically relevant horizons. +# Method: Separate calibration plots at each time point, combined with patchwork. +cat("\n--- 7.3 Multi‑time calibration curves (90, 180, 365 days) ---\n") +tryCatch({ + plot_multitime_calibration(best_lrn, val_task, time_points = c(90, 180, 365), save_plot = TRUE) +}, error = function(e) { + cat("Multi‑time calibration failed:", e$message, "\n") +}) + +# ---- 7.4 Repeated cross‑validation (with parallel support) ---- +# Purpose: Obtain robust performance estimates with confidence intervals. +# Method: 5 repeats of 5‑fold CV, compute Bootstrap CI for C‑index. +cat("\n--- 7.4 Repeated cross‑validation (5×5‑fold CV) ---\n") +cv_res <- tryCatch({ + repeated_cv_evaluation(prog, "surv.ranger", n_repeats = 5, folds = 5, parallel = FALSE) +}, error = function(e) { + cat("Repeated CV failed:", e$message, "\n") + NULL +}) +if (!is.null(cv_res)) { + cat("Repeated CV summary:\n") + print(cv_res$summary) + write.csv(cv_res$results, file.path(sub_dir("04_robustness"), "repeated_cv_results.csv"), row.names = FALSE) +} + +# ---- 7.5 DeLong test for comparing C‑indices ---- +# Purpose: Statistically compare discriminative ability of Ranger vs Cox. +# Method: survcomp::cindex.comp (bootstrap‑based DeLong). +cat("\n--- 7.5 DeLong test (Ranger vs Cox) ---\n") +delong <- tryCatch({ + compare_models_delong(best_lrn, cox_lrn, val_task, n_boot = 500) +}, error = function(e) { + cat("DeLong test failed:", e$message, "\n") + NULL +}) +if (!is.null(delong)) { + cat("DeLong p‑value:", delong$p.value, "\n") + cat("C‑index Ranger:", round(delong$C_index_model1, 4), "\n") + cat("C‑index Cox: ", round(delong$C_index_model2, 4), "\n") + write.csv(data.frame( + Model1_Cindex = delong$C_index_model1, + Model2_Cindex = delong$C_index_model2, + Difference = delong$difference, + P_value = delong$p.value, + CI_lower = delong$ci_lower, + CI_upper = delong$ci_upper + ), file.path(sub_dir("05_xai"), "delong_test.csv"), row.names = FALSE) +} + +# ---- 7.6 Bayesian hyperparameter optimisation ---- +# Purpose: More efficient search than random search, with automatic fallback. +# Method: mlr3mbo, falls back to random search on error. +cat("\n--- 7.6 Bayesian optimisation (Ranger) ---\n") +bayes_tune <- tryCatch({ + tune_with_bayes(train_task, "surv.ranger", tuning_budget = 30) +}, error = function(e) { + cat("Bayesian optimisation failed:", e$message, "\n") + NULL +}) +if (!is.null(bayes_tune)) { + saveRDS(bayes_tune, file.path(sub_dir("02_model"), "bayes_tune.rds")) + cat("Bayesian tuned C‑index:", round(bayes_tune$cv_performance, 4), "\n") +} + +# ---- 7.7 AIC stepwise variable selection ---- +# Purpose: Complementary traditional feature selection using AIC. +# Method: MASS::stepAIC on a Cox model (bidirectional). +cat("\n--- 7.7 AIC stepwise selection (both directions) ---\n") +step <- tryCatch({ + stepwise_variable_selection(prog, direction = "both") +}, error = function(e) { + cat("Stepwise selection failed:", e$message, "\n") + NULL +}) +if (!is.null(step)) { + cat("Stepwise selected features:", paste(step$selected_features, collapse = ", "), "\n") + write.csv(data.frame(Features = step$selected_features), + file.path(sub_dir("01_feature_selection"), "stepwise_features.csv"), row.names = FALSE) +} + +# ---- 7.8 Calibration‑in‑the‑large ---- +# Purpose: Check overall calibration (mean predicted vs observed event rate). +# Method: Logistic regression of observed binary outcome on logit(predicted probability). +cat("\n--- 7.8 Calibration‑in‑the‑large (t = 365 days) ---\n") +cal_large <- tryCatch({ + calibration_in_the_large(best_lrn, val_task, time_point = 365) +}, error = function(e) { + cat("Calibration‑in‑the‑large failed:", e$message, "\n") + NULL +}) +if (!is.null(cal_large)) { + cat("Calibration intercept:", round(cal_large$intercept, 4), "\n") + cat("Calibration slope: ", round(cal_large$slope, 4), "\n") + cat("Mean predicted: ", round(cal_large$mean_predicted, 4), "\n") + cat("Observed: ", round(cal_large$observed, 4), "\n") + write.csv(data.frame( + Intercept = cal_large$intercept, + Slope = cal_large$slope, + Mean_Predicted = cal_large$mean_predicted, + Observed = cal_large$observed, + N_at_risk = cal_large$n_at_risk + ), file.path(sub_dir("03_evaluation"), "calibration_large.csv"), row.names = FALSE) +} + +# ---- 7.9 External validation (Hosmer‑Lemeshow test) ---- +# Purpose: Assess calibration goodness‑of‑fit on validation set. +# Method: Group patients by predicted risk, compare observed vs expected events, χ² test. +cat("\n--- 7.9 Survival Hosmer‑Lemeshow test (t = 365 days, 10 groups) ---\n") +hl <- tryCatch({ + external_validation_test(best_lrn, val_task, time_point = 365, n_groups = 10) +}, error = function(e) { + cat("HL test failed:", e$message, "\n") + NULL +}) +if (!is.null(hl)) { + cat("HL chi‑square:", round(hl$chi_square, 4), "df:", hl$df, "p‑value:", round(hl$p_value, 4), "\n") + write.csv(data.frame( + Chi_square = hl$chi_square, + df = hl$df, + P_value = hl$p_value, + N_total = hl$n_total + ), file.path(sub_dir("03_evaluation"), "hl_test.csv"), row.names = FALSE) +} + +# ---- 7.10 Clinical impact curve ---- +# Purpose: Show number of high‑risk patients and events across thresholds. +# Method: Bootstrap confidence bands for both curves. +cat("\n--- 7.10 Clinical impact curve (t = 365 days) ---\n") +tryCatch({ + plot_clinical_impact(best_lrn, val_task, time_point = 365, n_boot = 100, save_plot = TRUE) +}, error = function(e) { + cat("Clinical impact curve failed:", e$message, "\n") +}) + +cat("\n========== All advanced extensions completed ==========\n") + +# --------------------------------------------------------------------------- +```` + +### 8 Save final PrognosiX object and deploy + +This section applies the trained object to new samples. Validate input format, performance, and target population in an independent cohort before deployment. + +````{r} +#| label: module4-pro-23 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8. Save final PrognosiX object and deploy +# --------------------------------------------------------------------------- +prog@best.model <- list( + learner_id = best_id, + learner = best_lrn, + best_params = tune$best_params, + cv_cindex = cv_cindex, + features = selected_feats, + cutoff = opt_cutoff, + decision_type = "binary", + train_cols = train_task$feature_names +) +prog@subgroup.risk <- list( + benchmark_table = bmr1$table, + stability = stab, + ablation = abl, + validation = list(cindex = val_cindex, n = val_task$nrow) +) +prog@split.data <- list(train_idx = train_idx, val_idx = val_idx) +saveRDS(prog, file = file.path(sub_dir("data"), "prog_obj_final.rds")) + +# ---- 8.1 Predict risk for new patients ---- +new_patients <- data.frame( + Mean_corpuscular_hemoglobin_concentration = c(33, 34), + Basophil_count = c(0.02, 0.03), + Monocytes = c(0.6, 0.7), + Eosinophil_count=c(0.02, 0.03), + Basophil=c(0.6, 0.7), + Neutrophilic_granulocyte = c(4.2, 5.1), + Red_blood_cell_distribution_width_CV = c(12.3, 11.8), + Mean_red_blood_cell_volume = c(89, 92), + Lymphocytes_count = c(1.8, 2.1), + Platelet_volume_distribution_width = c(12.0, 13.1), + Lymphocytes = c(1.8, 2.1), + Monocytes_count = c(0.6, 0.7), + Neutrophilic_granulocyte_count = c(4.2, 5.1), + Mean_platelet_volume = c(10.5, 11.0), + row.names = c("patient_1", "patient_2") +) + +risk_scores <- predict_prognosix(prog, new_patients, impute = TRUE) +pred_groups_med <- predict_risk_groups(prog, new_patients, cutoff_method = "median") +pred_groups_cus <- predict_risk_groups(prog, new_patients, + cutoff_method = "custom", + custom_cutoffs = opt_cutoff) +cat("Risk scores:\n"); print(risk_scores) +cat("Median groups:\n"); print(pred_groups_med) +cat("Custom groups:\n"); print(pred_groups_cus) + +# ---- 8.2 Deployment manager and Shiny app ---- +manager <- New_Prog_Manager(prog) + +if (interactive()) { + use_app_theme_grey() + set_prog_app_text( + title = "Survival Risk Predictor", + citation_text = "Data: PMID37633276_DIA_plasmaproomic cohort." + ) + set_prog_app_theme( + primary_color = "#2c7fb8", background_color = "#f0f4f8", sidebar_color = "#e9ecef", + box_background = "#ffffff", label_color = "#2c7fb8", + run_button_gradient_start = "#2c7fb8", run_button_gradient_end = "#1d4e6e", + risk_high_color = "#d9534f", risk_medium_color = "#f0ad4e", risk_low_color = "#5cb85c", + table_header_color = "#2c7fb8", font_family = "Arial, sans-serif", font_size_base = 14 + ) + launch_prog_deploy_app( + manager, + var_dict = data.frame( + Feature = selected_feats, + Description = paste("Predictor", seq_along(selected_feats)), + Units = rep("--", length(selected_feats)) + ), + project_info = list( + abstract = paste("Prognostic model trained on", train_task$nrow, "patients."), + citation = "PMID37633276_DIA_plasmaproomic cohort." + ) + ) +} + +# --------------------------------------------------------------------------- +```` + +### 9 Final report + +This section saves model objects, tables, and figures for reproducibility, review, and reuse. + +````{r} +#| label: module4-pro-24 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 9. Final report +# --------------------------------------------------------------------------- +cat("\n========================================\n") +cat("Module 4 (advanced, leakage‑free) finished successfully!\n") +cat("Best model:", best_id, + "| CV C-index (training):", round(cv_cindex, 4), + "| Validation C-index:", round(val_cindex, 4), "\n") +cat("Optimal cutoff:", round(opt_cutoff, 4), "\n") +cat("All results saved under:", OUTPUT_DIR, "\n") +cat("========================================\n") +```` diff --git a/module4-quickstart.qmd b/module4-quickstart.qmd new file mode 100644 index 0000000..d039c58 --- /dev/null +++ b/module4-quickstart.qmd @@ -0,0 +1,318 @@ +# Module 4: Survival and Prognostic Modeling — Quick Start + +Using `survival::veteran`, this chapter demonstrates the official `PrognosiX` pattern: keep survival time and event status aligned with the predictor matrix, create a prognosis object, select features, train a survival model, evaluate risk predictions, and retain the fitted workflow for later validation or deployment. + +## Data Requirements + +Store survival time and event status as metadata aligned row by row with predictors. Confirm event coding, time units, censoring definitions, and sample alignment before modeling. Performance estimates must come from data not used to select features, tune the learner, or define the risk cutoff. + +## Step-by-step Workflow + + + +The workflow is divided into short stages. Each note explains the purpose, key checks, and interpretation limits. Generated plots and tables appear directly below their code chunk. + +### Environment and Global Setup + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module4-quickstart-01 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# ============================================================================= +# icare Package Vignette — Module 4: Survival / Prognosis Modeling (PrognosiX) +# QUICK-START EDITION +# ============================================================================= +# Audience : Users who want a trained, evaluated survival model without +# extensive benchmarking, SHAP, or DCA. +# Dataset : survival::veteran (built-in lung cancer trial). Replace Section 1 +# with your own data.frame (time, status, predictors). +# For advanced features (tuning, benchmarking, DCA, Shiny app), see +# "04_module4_survival_ADVANCED.R". +# ============================================================================= + +# --------------------------------------------------------------------------- +```` + +### 0 Setup + +This section defines seeds, output paths, and dependencies. Update these paths and key parameters first when using new data. + +````{r} +#| label: module4-quickstart-02 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 0. Setup +# --------------------------------------------------------------------------- +set.seed(2025) +OUTPUT_DIR <- "./PrognosiX_QuickStart_Output" +dir.create(OUTPUT_DIR, showWarnings = FALSE, recursive = TRUE) + +# Load required packages +library(icare) +library(mlr3) +library(mlr3proba) +library(survival) +library(survminer) +library(ggplot2) + +# --------------------------------------------------------------------------- +```` + +### 1 Data Preparation + +This section imports and organizes the data. Check dimensions and variable coding before continuing. + +````{r} +#| label: module4-quickstart-03 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 1. Data Preparation +# --------------------------------------------------------------------------- +# Use the built-in veteran dataset +veteran <- survival::veteran +veteran$celltype <- as.character(veteran$celltype) + +# Separate features and metadata (time, status, clinical variables) +# For this example, we treat all columns except "time" and "status" as features. +# We move time/status to info.data via CreateStatObject. +stat <- CreateStatObject( + raw.data = veteran, + clean.data = veteran, + group_col = NULL, # no explicit grouping needed + na.action = "allow" +) + +# Impute missing values (median/mode) before conversion +stat <- stat_miss_processed(stat, impute_method = "median_mode") + +# Convert to PrognosiX – this automatically moves time/status to info.data +# and keeps only numeric features in clean.data. +prog <- Stat_to_PrognosiX(stat, "time", "status", + na_action = "omit", + min_events = 10, + verbose = TRUE) + +# --------------------------------------------------------------------------- +```` + +### 2 Feature Selection (Univariate + LASSO) + +This section selects candidate features. Consider effect size, stability, and biological plausibility rather than a single significance measure. + +````{r} +#| label: module4-quickstart-04 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 2. Feature Selection (Univariate + LASSO) +# --------------------------------------------------------------------------- +feat_sel <- surv_feature_selection_multi( + object = prog, + methods = c("uni_cox", "lasso"), + p_threshold = 0.1, + combine = "union", + verbose = TRUE +) +selected_feats <- feat_sel$selected +cat("Selected features:", paste(selected_feats, collapse = ", "), "\n") + +# Store selected features in the PrognosiX object +prog@survival.var <- list(selected = selected_feats) + +# --------------------------------------------------------------------------- +```` + +### 3 Train/Validation Split + +This section creates training and validation sets. Restrict feature selection and parameter estimation to the training set to prevent leakage. + +````{r} +#| label: module4-quickstart-05 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 3. Train/Validation Split +# --------------------------------------------------------------------------- +task_full <- surv_extract_task(prog)$select(selected_feats) +n <- task_full$nrow +train_idx <- sample(n, floor(0.7 * n)) +val_idx <- setdiff(seq_len(n), train_idx) + +train_task <- task_full$clone()$filter(train_idx) +val_task <- task_full$clone()$filter(val_idx) + +# --------------------------------------------------------------------------- +```` + +### 4 Train a Survival Random Forest + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-quickstart-06 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 4. Train a Survival Random Forest +# --------------------------------------------------------------------------- +learner <- surv_get_learner("surv.ranger", train_task) +learner$train(train_task) + +# --------------------------------------------------------------------------- +```` + +### 5 Evaluate on Validation Set + +This section performs the core analysis for this stage. Review the output immediately below the code and confirm that data ranges, assumptions, and results match the study design. + +````{r} +#| label: module4-quickstart-07 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 5. Evaluate on Validation Set +# --------------------------------------------------------------------------- +# Apparent (training) performance +train_perf <- surv_evaluate_model(learner, train_task) +cat("Training C-index:", round(train_perf$surv.cindex, 4), "\n") + +# Validation performance +val_pred <- learner$predict(val_task) +val_cindex <- val_pred$score(msr("surv.cindex")) +cat("Validation C-index:", round(val_cindex, 4), "\n") + +# --------------------------------------------------------------------------- +```` + +### 6 Risk Stratification and Kaplan‑Meier Plot + +This section creates exploratory and reporting figures. Plots appear below the code and are also saved as vector PDFs for publication. + +````{r} +#| label: module4-quickstart-08 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 6. Risk Stratification and Kaplan‑Meier Plot +# --------------------------------------------------------------------------- +# Determine optimal cutoff from training set +pred_train <- learner$predict(train_task) +cut_df <- as.data.frame(train_task$data()) +cut_df$risk <- pred_train$crank +cutoff <- median(cut_df$risk, na.rm = TRUE) + +# Plot KM curves on the training set (median split) +km_median <- surv_plot_risk_km(learner, train_task, "median", risk_table = TRUE) +print(km_median) + +# Apply the same cutoff to the validation set +km_val <- surv_plot_risk_km(learner, val_task, + cutoff_method = "custom", + custom_cutoffs = cutoff, + risk_table = TRUE) +print(km_val) + +# Save KM plots +print(km_median) + + +print(km_val) + + +# --------------------------------------------------------------------------- +```` + +### 7 Predict Risk for New Patients + +This section applies the trained object to new samples. Validate input format, performance, and target population in an independent cohort before deployment. + +````{r} +#| label: module4-quickstart-09 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 7. Predict Risk for New Patients +# --------------------------------------------------------------------------- +# Store the best model in prog@best.model for deployment +prog@best.model <- list( + learner_id = "surv.ranger", + learner = learner, + features = selected_feats, + cutoff = cutoff, + decision_type = "binary", + train_cols = train_task$feature_names +) + +# Example new patient data +new_patients <- data.frame( + celltype = c("smallcell", "adeno"), + karno = c(60, 80), + diagtime = c(10, 5), + row.names = c("patient_1", "patient_2") +) + +risk_scores <- predict_prognosix(prog, new_patients, impute = TRUE) +pred_groups <- predict_risk_groups(prog, new_patients, + cutoff_method = "median", + return_scores = TRUE) + +cat("Risk scores:\n"); print(risk_scores) +cat("Risk groups:\n"); print(pred_groups) + +# --------------------------------------------------------------------------- +```` + +### 8 Save the Model + +This section trains and compares candidate models. Select models using discrimination, calibration, stability, and clinical utility together. + +````{r} +#| label: module4-quickstart-10 +#| cache: false +#| echo: true +#| message: false +#| warning: false +#| fig-show: hold +#| out-width: '100%' +# 8. Save the Model +# --------------------------------------------------------------------------- +saveRDS(prog, file = file.path(OUTPUT_DIR, "prog_obj_quickstart.rds")) + +cat("\n========================================\n") +cat("Quick‑start pipeline completed successfully!\n") +cat("Validation C-index:", round(val_cindex, 4), "\n") +cat("Results saved in:", OUTPUT_DIR, "\n") +cat("========================================\n") +```` diff --git a/prerequisites.qmd b/prerequisites.qmd new file mode 100644 index 0000000..92c70c4 --- /dev/null +++ b/prerequisites.qmd @@ -0,0 +1,72 @@ +# Before You Begin + +## Software and Package Setup + +The package requires R 3.5.0 or later. Rendering this book also requires the Quarto CLI. Install `icare` from its official GitHub repository and allow R to install the package dependencies used by the selected workflow. + +```{r} +#| eval: false +install.packages(c("remotes", "BiocManager")) +BiocManager::install("ComplexHeatmap", ask = FALSE, update = FALSE) +remotes::install_github( + "YuLab-SMU/icare", + dependencies = TRUE, + upgrade = "never" +) +``` + +The advanced chapters deliberately expose optional algorithms. Their chunks check or load packages only when a method needs them. If you do not need a particular method, you may skip that chunk and its optional dependency. + +## Object and Workflow Map + +```{mermaid} +flowchart LR + A[Raw clinical or omics data] --> B[CreateStatObject] + B --> C[Stat: clean and explore] + C --> D[Train_Model: classification] + C --> E[Subtyping: unsupervised discovery] + C --> F[Stat_to_PrognosiX] + F --> G[PrognosiX: survival modeling] +``` + +Module 1 creates a reusable `Stat` object. Modules 2 and 3 convert that object into task-specific containers. Module 4 keeps survival time and event status in aligned metadata while the predictor matrix is processed independently. The saved object is part of the analysis record because it retains preprocessing and modeling state, not just the final predictions. + +## Repository Layout + +```text +icare-quarto-book/ +├── _quarto.yml +├── index.qmd +├── prerequisites.qmd +├── module*.qmd +├── assets/ # Book branding +├── data/ # Tutorial data +├── image/ # Publication-ready static figures +└── .github/ # Automated rendering workflow +``` + +Generated HTML belongs in `_book/` and is not committed. Quarto caches, frozen execution output, temporary R objects, and chapter-specific analysis folders are also excluded from version control. + +## Data Contracts + +Before running a chapter, verify the following: + +1. Sample identifiers are unique and aligned across predictors, outcomes, and metadata. +2. Group, class, survival-time, and event columns use the coding expected by the chapter. +3. Survival time has a documented unit and event status has an explicit censoring definition. +4. Features intended for NMF are numeric and non-negative; zero-variance features are removed. +5. Output directories and random seeds are appropriate for the study. + +## Prevent Information Leakage + +Split development and validation data before estimating any transformation that learns from the observations. Imputation values, scaling parameters, feature selection, hyperparameter tuning, thresholds, and risk cutoffs must be estimated from training data only, then applied unchanged to held-out or external data. Use nested or repeated resampling when feature selection and model tuning are compared within the same study. + +## Render Locally + +From the book root, run: + +```bash +quarto render +``` + +Execution is enabled, successful results are cached, and `freeze: auto` avoids unnecessary recomputation. For a clean reproducibility check, remove local caches outside version control and render in a fresh R environment. The included GitHub Actions workflow performs the same source-to-HTML build whenever the `docs` branch changes. diff --git a/references.bib b/references.bib deleted file mode 100644 index 0220dbd..0000000 --- a/references.bib +++ /dev/null @@ -1,19 +0,0 @@ -@article{knuth84, - author = {Knuth, Donald E.}, - title = {Literate Programming}, - year = {1984}, - issue_date = {May 1984}, - publisher = {Oxford University Press, Inc.}, - address = {USA}, - volume = {27}, - number = {2}, - issn = {0010-4620}, - url = {https://doi.org/10.1093/comjnl/27.2.97}, - doi = {10.1093/comjnl/27.2.97}, - journal = {Comput. J.}, - month = may, - pages = {97–111}, - numpages = {15} -} - - diff --git a/references.qmd b/references.qmd deleted file mode 100644 index 925f7c4..0000000 --- a/references.qmd +++ /dev/null @@ -1,4 +0,0 @@ -# References {.unnumbered} - -::: {#refs} -::: diff --git a/summary.qmd b/summary.qmd deleted file mode 100644 index b450ab7..0000000 --- a/summary.qmd +++ /dev/null @@ -1,3 +0,0 @@ -# Summary - -In summary, this book has no content whatsoever. diff --git a/test_data/blood_data_PMID40759646.csv b/test_data/blood_data_PMID40759646.csv deleted file mode 100644 index 45a93b6..0000000 --- a/test_data/blood_data_PMID40759646.csv +++ /dev/null @@ -1,789 +0,0 @@ -"","patient_id","days_before_first_treatment","INR","Lymphocytes","Eosinophils %","Monocytes","MCH","Potassium","Chloride","Monocytes %","Sodium","MPV","PT","Normoblasts","Basophils","Granulocytes","aPPT","Glomerular filtration rate","Platelets","Creatinine","Thrombin time","Erythrocytes","Immature Granulocytyes","Calcium","PLCR","Hemoglobin","MCV","Granulocytes %","Hematocrit","MHCH","Lymphocytes %","RDW","Basophils %","PDW","Leukocytes","Eosinophils","Urea","Glucose","CRP","Magnesium" -"1","001",0,0.8899999857,1.2599999905,0.8999999762,0.5500000119,29.1000003815,4.3000001907,106,8.1000003815,141,10.3000001907,100.0001983643,0,0.0199999996,4.8600001335,25.6000003815,60.0001983643,156,0.9300000072,16.2000007629,5.2899999619,0.6999999881,2.5199999809,28.7999992371,15.3999996185,82,72,43.4000015259,35.5,18.7000007629,13.6999998093,0.3000000119,13.6000003815,6.75,0.0599999987,NA,NA,NA,NA -"2","002",0,0.8999999762,2.4100000858,0.8999999762,0.8999999762,33.2000007629,4.5,105,7.4000000954,137,10.1000003815,100.0001983643,0,0.0299999993,8.7299995422,28.7000007629,60.0001983643,295,0.6800000072,15.6999998093,4.1900000572,0.400000006,2.4100000858,25.5,13.8999996185,93.8000030518,71.6999969482,39.2999992371,35.4000015259,19.7999992371,14.1999998093,0.200000003,11.6000003815,12.1800003052,0.1099999994,NA,NA,NA,NA -"3","003",7,1.0599999428,1.4500000477,0.1000000015,0.4600000083,30.6000003815,4.8000001907,101,6.1999998093,139,8.8999996185,91,0,0.0099999998,5.5399999619,31.2999992371,58,225,1.2599999905,15.8999996185,5.0700001717,0.3000000119,2.5099999905,14.8000001907,15.5,87,74.1999969482,44.0999984741,35.0999984741,19.3999996185,13.1000003815,0.1000000015,9.1999998093,7.4699997902,0.0099999998,NA,NA,NA,NA -"4","004",2,NA,2.24,NA,NA,33.4,NA,NA,NA,NA,NA,NA,NA,NA,5.93,NA,NA,198,NA,NA,4.7,NA,NA,NA,15.7,100.3,66.5,47.1,33.3,25,12.3,NA,NA,8.93,NA,NA,NA,NA,NA -"5","006",3,0.9100000262,1.9800000191,1.7999999523,0.75,31.2999992371,4.4000000954,NA,10.3000001907,140,10.1999998093,100.0001983643,0,0.0299999993,4.3899998665,25.6000003815,60.0001983643,217,0.7699999809,14.6000003815,4.8000001907,0.1000000015,2.4300000668,25.3999996185,15,88.0999984741,60.2999992371,42.2999992371,35.5,27.2000007629,12.3999996185,0.400000006,11.6999998093,7.2800002098,0.1299999952,50,NA,NA,NA -"6","007",1,0.8899999857,2.5299999714,3,0.9499999881,30.8999996185,5.0999999046,99,8.6999998093,136,10,100.0001983643,0,0.0900000036,7.0700001717,34.7000007629,60.0001983643,456,0.8199999928,9.5,4.4400000572,0.8999999762,2.5,25.1000003815,13.6999998093,90.3000030518,64.4000015259,40.0999984741,34.2000007629,23.1000003815,13,0.8000000119,12,10.970000267,0.3300000131,24,131,15.3000001907,NA -"7","008",4,0.9200000167,2.0899999142,5.9000000954,0.9599999785,33.5,4.6999998093,NA,7.8000001907,135,9.3000001907,100.0001983643,0,0.1199999973,8.4200000763,29.6000003815,60.0001983643,328,0.9700000286,15.5,4.5999999046,0.5,2.4200000763,18,15.3999996185,97.8000030518,68.3000030518,45,34.2000007629,17,12.6999998093,1,9.8000001907,12.3199996948,0.7300000191,26,NA,NA,NA -"8","009",1,1.1100000143,1.4199999571,2.2999999523,0.8399999738,33.2000007629,4.4000000954,102,11.1000003815,139,10.6000003815,84,0,0.0199999996,5.0900001526,28.8999996185,60.0001983643,203,0.9300000072,16.8999996185,3.9800000191,0.1000000015,2.3599998951,29,13.1999998093,97.6999969482,67.5,38.9000015259,33.9000015259,18.7999992371,13.1999998093,0.3000000119,12.1000003815,7.5399999619,0.1700000018,NA,NA,0.5,NA -"9","010",2,0.9399999976,1.6900000572,1.2000000477,0.2800000012,29.7000007629,4.6999998093,NA,5.5,136,11.8999996185,100.0001983643,0,0.0399999991,3.0599999428,25.7999992371,60.0001983643,239,0.9800000191,16.2999992371,5.4600000381,0.200000003,2.5299999714,40.5999984741,16.2000007629,87,59.5999984741,47.5,34.0999984741,32.9000015259,12.6000003815,0.8000000119,14.1000003815,5.1300001144,0.0599999987,43,NA,NA,NA -"10","011",1,0.8999999762,1.0499999523,2.5999999046,0.9499999881,32.7999992371,5.0999999046,NA,9.5,132,9.6999998093,100.0001983643,0,0.0399999991,7.7399997711,35.7999992371,60.0001983643,499,0.6399999857,15.6999998093,4.2399997711,0.5,2.4900000095,21.7999992371,13.8999996185,94.8000030518,77,40.2000007629,34.5999984741,10.5,12.8000001907,0.400000006,10.5,10.0399999619,0.2599999905,11,NA,NA,NA -"11","012",0,1,1.5199999809,0.1000000015,0.6600000262,31.6000003815,4.9,105,8,138,9.8000001907,99,0,0.0599999987,6.0100002289,33.2999992371,60,303,0.88,10.1999998093,4.5,0.1000000015,2.4,21.7000007629,14.1999998093,93.5999984741,72.8000030518,42.0999984741,33.7000007629,18.3999996185,13.1999998093,0.6999999881,10.6000003815,8.2600002289,0.0099999998,23,102,NA,NA -"12","014",2,0.8799999952,1.6599999666,6.9000000954,0.7400000095,30.2000007629,4.5999999046,105,11.3000001907,141,10.8000001907,100.0001983643,0,0.0299999993,3.6700000763,27.2999992371,60.0001983643,282,0.6299999952,15,4.5999999046,0.200000003,2.5199999809,31.8999996185,13.8999996185,87,56,40,34.7999992371,25.2999992371,12.8000001907,0.5,13.3999996185,6.5500001907,0.4499999881,NA,NA,18.2000007629,0.8000000119 -"13","015",2,1.01,1.59,0.8,0.45,30.6,5,94,8.6,126,9.6,100,0,0.04,3.09,32.3,60,320,0.63,9.9,4.21,0.2,2.3,21.1,12.9,85.5,59.3,36,35.8,30.5,13,0.8,10.2,5.21,0.04,NA,NA,1.4,0.8 -"14","016",3,0.98,2.06,5.3,0.87,31,4.6,107,10.1,136,10.6,100,0,0.12,5.1,28.6,60,236,1.07,11.2,4.67,0.2,2.4,30.5,14.5,89.1,59.3,41.6,34.9,23.9,12.5,1.4,12.6,8.61,0.46,44,105,NA,NA -"15","017",3,0.9599999785,1.4700000286,2.2000000477,0.2700000107,31.2000007629,4.3000001907,NA,4.3000001907,137,9.5,100.0001983643,0,0.0199999996,4.3499999046,26.2999992371,60.0001983643,245,0.75,18.2000007629,4.9299998283,0.200000003,2.3299999237,21.1000003815,15.3999996185,87.8000030518,69.6999969482,43.2999992371,35.5999984741,23.5,12.6000003815,0.3000000119,10.8999996185,6.25,0.1400000006,34,NA,NA,NA -"16","018",2,0.9599999785,1.7000000477,0.400000006,0.4399999976,31.7999992371,4.5,105,5.5,141,9.8000001907,100.0001983643,0,0.0500000007,5.8099999428,30.1000003815,60,303,0.92,11,4.3400001526,0.1000000015,2.4,22.3999996185,13.8000001907,93.3000030518,72.3000030518,40.5,34.0999984741,21.2000007629,13.3999996185,0.6000000238,10.6999998093,8.029999733,0.0299999993,27,64,NA,NA -"17","019",1,1.15,1.02,3.1,1.11,29.5,NA,NA,7.4,NA,NA,75,0,0.12,12.31,38.1,NA,324,NA,10.6,4.88,0.5,NA,36.1,14.4,85,81.9,41.5,34.7,6.8,NA,0.8,14.5,15.02,0.46,NA,NA,NA,NA -"18","019",2,NA,NA,NA,NA,NA,4.1,101,NA,136,NA,NA,NA,NA,NA,NA,39,NA,1.72,NA,NA,NA,2.2,NA,NA,NA,NA,NA,NA,NA,16.5,NA,NA,NA,NA,81,109,NA,NA -"19","020",1,0.9100000262,1.6499999762,1.2999999523,0.6100000143,30.7000007629,4.6999998093,104,11.5,140,10.1000003815,100.0001983643,0,0.0399999991,2.9500000477,29.3999996185,60.0001983643,286,0.9200000167,10.5,4.8899998665,0.200000003,2.4000000954,25.8999996185,15,89.8000030518,55.4000015259,43.9000015259,34.2000007629,31,13.5,0.8000000119,11.6999998093,5.3200001717,0.0700000003,NA,NA,NA,0.8999999762 -"20","021",1,1.05,2.1,1.1,0.73,33,5.2,101,8.2,135,NA,100,0,0.04,5.95,29.6,60,286,0.64,10.2,4.51,0.3,2.3,22.5,14.9,92.2,66.8,41.6,35.8,23.5,13.4,0.4,10.5,8.92,0.1,NA,NA,2.2,0.7 -"21","022",6,1.02,1.5,NA,NA,30.6,4.2,NA,NA,139,NA,100,NA,NA,7.97,30.4,60,196,0.88,10.6,4.57,NA,2.3,NA,14,86,79.4,39.3,35.6,14.5,12.1,NA,NA,10.04,NA,NA,86,NA,NA -"22","023",1,1.2200000286,2.0799999237,1.5,0.3799999952,32.9000015259,NA,NA,6.3000001907,NA,11.1000003815,73,0,0.0099999998,3.4800000191,60.9000015259,NA,140,NA,153.6000061035,4.7399997711,0.200000003,NA,33.5999984741,15.6000003815,94.6999969482,57.5999984741,44.9000015259,34.7000007629,34.4000015259,13.1000003815,0.200000003,13.6999998093,6.0399999619,0.0900000036,NA,NA,NA,NA -"23","023",3,NA,NA,NA,NA,NA,4.6999998093,103,NA,140,NA,NA,NA,NA,NA,NA,60,NA,1.1699999571,NA,NA,NA,2.2999999523,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,27,NA,NA,NA -"24","024",0,0.9399999976,3.1700000763,4,0.5500000119,31.7999992371,5.3,102,6.6999998093,138,10.6000003815,100.0001983643,0,0.1099999994,4.0500001907,30.3999996185,60,186,1.04,10.3999996185,4.6900000572,0.200000003,2.4,29.2000007629,14.8999996185,94.9000015259,49.4000015259,44.5,33.5,38.5999984741,13,1.2999999523,12.5,8.2100000381,0.3300000131,35,82,NA,NA -"25","025",0,1.18,0.92,1.6,0.35,29.8,4.3,104,8,141,10.7,75,0,0.02,3,37.1,60,145,0.7,11.5,4.8,0.2,2.6,30.9,14.3,85.4,68.8,41,34.9,21.1,12.9,0.5,12.5,4.36,0.07,NA,NA,NA,0.8 -"26","027",1,NA,NA,NA,NA,NA,5,99,NA,137,NA,NA,NA,NA,NA,NA,60,NA,1.03,NA,NA,NA,2.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,93,NA,NA -"27","028",3,1.0599999428,2.2899999619,3.5999999046,0.6100000143,32.7999992371,4.4000000954,105,10,140,10.3999996185,91,0,0.0399999991,2.9400000572,35.5,60.0001983643,166,0.8799999952,11.1999998093,4.7600002289,0.200000003,2.2000000477,28.7000007629,15.6000003815,90.8000030518,48.2000007629,43.2000007629,36.0999984741,37.5,13.6000003815,0.6999999881,12.6999998093,6.0999999046,0.2199999988,30,90,NA,NA -"28","029",0,1.0099999905,2.2599999905,1.1000000238,0.3600000143,29.6000003815,4,106,4.9000000954,138,11.8000001907,98,0,0.0199999996,4.6599998474,29.2000007629,60.0001983643,239,0.9700000286,15.8999996185,4.7699999809,0.3000000119,2.2300000191,39.7999992371,14.1000003815,85.0999984741,63.0999984741,40.5999984741,34.7000007629,30.6000003815,14.1999998093,0.3000000119,15.3000001907,7.3800001144,0.0799999982,NA,NA,NA,0.8000000119 -"29","032",13,0.9599999785,1.0099999905,3.2000000477,0.5400000215,31.2000007629,4.6999998093,106,10.3000001907,136,10.8999996185,100.0001983643,0,0.0099999998,3.5099999905,31.5,60.0001983643,216,0.8799999952,15.1999998093,4.3899998665,0.200000003,2.3900001049,32.5999984741,13.6999998093,88.5999984741,67,38.9000015259,35.2000007629,19.2999992371,13.3000001907,0.200000003,13.6000003815,5.2399997711,0.1700000018,NA,NA,NA,0.8999999762 -"30","033",8,0.97,1.35,1.3,0.57,30.4,4.7,106,8.1,140,9.6,100,0,0.01,4.98,28.9,60,209,1.07,10.2,4.93,0.1,2.4,21.5,15,90.3,71.2,44.5,33.7,19.3,14.1,0.1,11.2,7,0.09,NA,NA,NA,NA -"31","034",0,1,1.2400000095,3.5999999046,0.4499999881,31.2000007629,4.4000000954,106,7.3000001907,142,11.5,100,0,0.0500000007,4.2199997902,31.6000003815,60.0001983643,217,0.8100000024,10.1999998093,4.6199998856,0.200000003,2.4000000954,37.7999992371,14.3999996185,89.8000030518,68.1999969482,41.5,34.7000007629,20.1000003815,12.8999996185,0.8000000119,15.1999998093,6.1799998283,0.2199999988,24,144,NA,NA -"32","035",0,1.0099999905,2.2100000381,1.7999999523,0.6000000238,31.5,5.1,102,7.8000001907,135,13,98,0,0.0199999996,4.7600002289,34.0999984741,60,150,1.12,10.1999998093,4.9600000381,0.1000000015,2.2,48.7999992371,15.6000003815,90.9000015259,61.5,45.0999984741,34.5999984741,28.6000003815,13.8000001907,0.3000000119,18.3999996185,7.7300000191,0.1400000006,NA,NA,NA,0.6 -"33","036",1,0.9499999881,2.3499999046,2.2000000477,0.4900000095,27.6000003815,5.6999998093,NA,6.9000000954,135,10,100.0001983643,0,0.0299999993,4.0999999046,30.5,89,394,0.9900000095,15.6000003815,4.5,0.3000000119,2.5099999905,24.5,12.3999996185,84.1999969482,57.5,37.9000015259,32.7000007629,33,16.2000007629,0.400000006,11.5,7.1300001144,0.1599999964,37,NA,NA,NA -"34","036",0,NA,NA,NA,NA,NA,NA,100,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,85,NA,NA -"35","037",2,1.26,2.84,1.6,0.56,35.2,4.7,102,9.9,140,9.5,62,0,0.02,2.17,43.1,60,152,0.69,11,4.18,0.2,2.2,20.3,14.7,98.8,38.1,41.3,35.6,50,13,0.4,10.7,5.68,0.09,14,182,NA,NA -"36","038",2,0.9800000191,1.5299999714,2.7999999523,0.5500000119,31.3999996185,4.2,100,7.8000001907,135,10,100.0001983643,0,0.0399999991,4.7100000381,29.2000007629,60,311,0.99,10.8999996185,4.3699998856,0.1000000015,2.5,24.2999992371,13.6999998093,91.0999984741,67,39.7999992371,34.4000015259,21.7999992371,13.3000001907,0.6000000238,11.3000001907,7.0300002098,0.200000003,19,127,NA,NA -"37","039",3,0.8700000048,0.9599999785,0.8999999762,1.1799999475,31.6000003815,4.6,96,7.4000000954,131,11.3000001907,100.0001983643,0,0.0399999991,13.6599998474,32.9000015259,60,202,0.73,9.6000003815,4.3099999428,0.200000003,2.4,35.7999992371,13.6000003815,89.3000030518,85.4000015259,38.5,35.2999992371,6,13.1999998093,0.3000000119,14.8000001907,15.9799995422,0.1400000006,13,102,NA,NA -"38","040",12,1.07,1.58,0.6,0.87,33,5,100,10.2,136,9.3,86,0,0.02,5.97,28.6,60,419,0.79,10.3,4.49,0.2,2.5,18.8,14.8,92.7,70.4,41.6,35.6,18.6,13.4,0.2,10.5,8.49,0.05,25,98,NA,NA -"39","040",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1 -"40","041",2,1.0299999714,1.6200000048,1.5,0.5,32.2999992371,4.6999998093,NA,8.1000003815,137,10.6000003815,96,0,0.0199999996,3.9100000858,28.2000007629,60.0001983643,194,0.9100000262,15.8000001907,5.1700000763,0.3000000119,2.3900001049,30.1000003815,16.7000007629,92.8000030518,63.7000007629,48,34.7999992371,26.3999996185,13.1000003815,0.3000000119,12.6999998093,6.1399998665,0.0900000036,30,NA,NA,NA -"41","042",14,NA,NA,NA,NA,NA,4.0999999046,104,NA,138,NA,NA,NA,NA,NA,NA,60.0001983643,NA,0.5899999738,NA,NA,NA,2.4700000286,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,8.3000001907,0.8999999762 -"42","043",2,1.0700000525,2.3699998856,0.6999999881,0.7799999714,35.7000007629,4.6999998093,103,8.3000001907,139,10.5,89,0,0.0500000007,6.0799999237,29.2000007629,60.0001983643,188,0.7400000095,15.5,4.4200000763,0.3000000119,2.2999999523,28.7000007629,15.8000001907,103.1999969482,65.1999969482,45.5999984741,34.5999984741,25.2999992371,13.6000003815,0.5,12.6000003815,9.3500003815,0.0700000003,13,105,NA,NA -"43","044",3,1.0700000525,2.6800000668,0,0.7300000191,29,4.8000001907,NA,6.6999998093,137,11.5,90,0,0.0700000003,7.3899998665,26.5,60.0001983643,294,0.8799999952,15.6999998093,5.2800002098,0.8999999762,2.5499999523,38.0999984741,15.3000001907,86.6999969482,68,45.7999992371,33.4000015259,24.7000007629,15.5,0.6000000238,14.5,10.8699998856,0,31,NA,NA,NA -"44","045",2,1,1.23,5,0.64,30.6,5.1,108,10.3,141,10.3,100,0,0.05,3.97,30.3,60,207,0.82,10.7,4.67,0.3,2.5,28.3,14.3,87.8,64.1,41,34.9,19.8,14,0.8,12.5,6.2,0.31,21,96,NA,NA -"45","046",1,1.5599999428,NA,NA,NA,NA,NA,NA,NA,NA,NA,43,NA,NA,NA,40.2000007629,NA,NA,NA,10.3999996185,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"46","046",2,NA,1.6,0.3,0.72,31.7,4.7,91,12.3,128,10.1,NA,NA,0.03,3.5,NA,60,321,0.83,NA,3.53,0.2,2.2,24.8,11.2,94.9,59.6,33.5,33.4,27.3,16.3,0.5,10.7,5.87,0.02,24,66,NA,NA -"47","046",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"48","048",0,0.9499999881,0.9900000095,1.3999999762,0.4900000095,29.3999996185,4.5,105,11.3000001907,140,10,100.0001983643,0,0.0099999998,2.7999999523,28.2000007629,60,210,0.83,10.3000001907,4.1799998283,0.200000003,2.5,24.2000007629,12.3000001907,90.1999969482,64.3000030518,37.7000007629,32.5999984741,22.7999992371,14.6999998093,0.200000003,11.1999998093,4.3499999046,0.0599999987,NA,NA,NA,NA -"49","049",0,0.9599999785,1.6000000238,0.8000000119,0.5299999714,30.6000003815,4.0999999046,108,6.8000001907,141,9.6000003815,100.0001983643,0,0.0199999996,5.5500001907,26.7999992371,60.0001983643,149,0.5899999738,16,4.7399997711,0.3000000119,2.3299999237,21.7999992371,14.5,89.6999969482,71.5,42.5,34.0999984741,20.6000003815,13.5,0.3000000119,10.5,7.7600002289,0.0599999987,NA,NA,NA,NA -"50","050",2,NA,0.84,6.7,0.7,30.9,4.4,104,9.2,140,11.8,NA,0,0.09,5.43,NA,60,216,0.91,NA,4.98,0.5,2.4,39.8,15.4,92.6,71.8,46.1,33.4,11.1,14.4,1.2,13.9,7.57,0.51,NA,NA,NA,NA -"51","050",1,1.38,NA,NA,NA,NA,NA,NA,NA,NA,NA,56,NA,NA,NA,46.1,NA,NA,NA,10.1,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"52","051",3,0.9499999881,1.3400000334,2.0999999046,0.6899999976,31.7000007629,4.5,102,9.1999998093,137,11.6000003815,100.0001983643,0,0.0399999991,5.2699999809,33.4000015259,60.0001983643,279,0.8500000238,10,5.3000001907,0.3000000119,2.5999999046,37.7999992371,16.7999992371,89.4000015259,70.3000030518,47.4000015259,35.4000015259,17.8999996185,13.1999998093,0.5,13.8000001907,7.5,0.1599999964,40,270,NA,NA -"53","052",11,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,60.0001983643,NA,1.0099999905,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"54","053",0,1.3,1.4,NA,NA,32.6,4,NA,NA,140,NA,57,NA,NA,2.94,40.3,60,121,0.79,11.6,4.3,NA,2.3,NA,14,95.3,62,41,34.2,29,14.7,NA,NA,4.75,NA,NA,NA,NA,NA -"55","054",1,1.02,1.14,1.5,0.52,32.3,4.5,108,11.5,141,9.9,100,0,0.01,2.78,28.2,60,138,0.81,9.4,4.58,0,2.4,25,14.8,94.5,61.6,43.3,34.2,25.2,13.4,0.2,11.2,4.52,0.07,NA,NA,NA,NA -"56","055",0,0.9900000095,1.5399999619,5.9000000954,0.4099999964,31.2999992371,4.1999998093,NA,10.6000003815,141,11.3000001907,100.0001983643,0,0.0299999993,1.6599999666,26.1000003815,60.0001983643,140,0.8000000119,16.2000007629,5.0399999619,0,2.4200000763,36,15.8000001907,89.9000015259,42.9000015259,45.2999992371,34.9000015259,39.7999992371,12.8999996185,0.8000000119,13.1999998093,3.8699998856,0.2300000042,41,NA,NA,NA -"57","056",1,1.1000000238,1.0099999905,0.3000000119,0.8399999738,34,4.8000001907,92,9.3000001907,129,8.5,86,0,0.0199999996,7.1500000954,34.2999992371,60.0001983643,278,0.9100000262,9.3999996185,3.7300000191,0.3000000119,2.2000000477,12.5,12.6999998093,93,79,34.7000007629,36.5999984741,11.1999998093,13.3999996185,0.200000003,9.1000003815,9.0500001907,0.0299999993,23,NA,NA,NA -"58","057",0,1.0199999809,1.5299999714,1,1,31.2000007629,4.1,103,13,140,10.3999996185,96,0,0.0799999982,5.0199999809,31.2000007629,60,281,0.79,10.3000001907,4.8699998856,0.1000000015,2.4,28.2999992371,15.1999998093,92.1999969482,65.1999969482,44.9000015259,33.9000015259,19.7999992371,13.3000001907,1,12.6000003815,7.7100000381,0.0799999982,29,63,NA,NA -"59","058",12,1.06,1.8,2,NA,24.9,4.9,NA,3,139,NA,90,NA,NA,7.86,31.9,NA,384,0.82,9.8,3.7,NA,2.4,NA,9.2,76.8,74.5,28.4,32.4,17.1,15.2,1,NA,10.54,NA,NA,128,NA,NA -"60","059",0,1.05,1.46,NA,NA,29,5.9,102,NA,136,NA,90,NA,NA,6.09,37.9,60,307,1.03,9.6,4.76,NA,2.5,NA,13.8,87.1,74.8,41.5,33.3,17.9,13,NA,NA,8.15,NA,NA,304,NA,NA -"61","060",2,0.92,1.5,NA,NA,32.1,4.2,105,NA,142,NA,100,NA,NA,7.8,26.1,60,212,0.65,9.4,4.7,NA,2.4,NA,15.1,94.6,77.1,44.5,34,14.3,14.3,NA,NA,10.12,NA,NA,88,NA,NA -"62","061",3,0.9200000167,0.4699999988,1.1000000238,0.3799999952,39.7000007629,4.0999999046,NA,14.1000003815,139,12.6999998093,100.0001983643,0,0.0099999998,1.7999999523,32.7999992371,60.0001983643,73,0.6100000143,14.6999998093,3.1199998856,0,2.4000000954,44.0999984741,12.3999996185,116,66.9000015259,36.2000007629,34.2999992371,17.5,13.8000001907,0.400000006,18.5,2.6900000572,0.0299999993,20,NA,NA,NA -"63","062",5,0.93,2.8,NA,NA,32,4.3,NA,NA,140,NA,100,NA,NA,4.3,33.1,NA,449,0.84,11.3,4.78,NA,2.5,NA,15.3,89.5,55.5,42.8,35.8,36.4,13.6,NA,NA,7.75,NA,NA,NA,NA,NA -"64","063",2,0.9700000286,1.8600000143,0.6999999881,0.6200000048,31,4.5,NA,8.3000001907,138,10.1999998093,100.0001983643,0,0.0299999993,4.9099998474,30,60.0001983643,249,0.8500000238,16.5,4.6500000954,0.1000000015,2.2599999905,26.8999996185,14.3999996185,91.5999984741,65.6999969482,42.5999984741,33.7999992371,24.8999996185,13.1000003815,0.400000006,11.8000001907,7.4699997902,0.0500000007,33,NA,NA,NA -"65","064",9,1.0499999523,2.1900000572,0.400000006,0.7699999809,29.7999992371,4.0999999046,104,8.3999996185,140,11.5,92,NA,0.0299999993,6.1900000572,29.8999996185,60.0001983643,156,0.6499999762,14.8999996185,5.1599998474,0.1000000015,2.2999999523,35.9000015259,15.3999996185,84.5,67.0999984741,43.5999984741,35.2999992371,23.7999992371,14.3000001907,0.3000000119,15.6000003815,9.220000267,0.0399999991,21,88,NA,NA -"66","065",0,0.98,1.57,1.8,0.74,29.4,5.7,102,8.7,138,NA,100,NA,0.02,6.03,27.1,60,195,0.85,10.8,5.3,NA,2.5,29.9,15.6,84.7,70.9,44.9,34.7,18.4,13.8,0.2,12.6,8.51,0.15,NA,NA,NA,0.8 -"67","066",11,1.1799999475,2.1600000858,2.4000000954,0.8399999738,26.7999992371,5,93,10.6999998093,126,9.3000001907,78,0,0.0199999996,4.6100001335,34.5999984741,60.0001983643,549,0.4499999881,16.2000007629,2.9800000191,0.400000006,2.1400001049,19.5,8,81.9000015259,59,24.3999996185,32.7999992371,27.6000003815,16.6000003815,0.3000000119,10.3000001907,7.8200001717,0.1899999976,NA,NA,17.2000007629,0.6999999881 -"68","067",1,0.9700000286,2.2899999619,1.7000000477,1,29.7000007629,4.3000001907,104,10.3999996185,138,10.6000003815,100.0001983643,0,0.0399999991,6.1100001335,25.6000003815,60.0001983643,266,0.5699999928,10,5.1500000954,0.200000003,2.2999999523,30,15.3000001907,87,63.5999984741,44.7999992371,34.2000007629,23.8999996185,14.8000001907,0.400000006,13.1000003815,9.6000003815,0.1599999964,NA,NA,NA,0.8999999762 -"69","067",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,12.1000003815,NA -"70","068",1,1.01,1.18,1.5,1.05,27.9,3.9,108,6,142,11.5,98,0,0.02,6.8,28.1,60,302,0.6,10.5,4.76,0.4,2.1,37.6,13.3,85.5,74.1,40.7,32.7,12.8,15.1,0.2,14.6,9.19,0.14,NA,NA,NA,NA -"71","069",0,0.9800000191,1.6699999571,0.6999999881,0.6100000143,31.2000007629,5,NA,7.4000000954,142,9.8999996185,100.0001983643,0,0.0399999991,5.8400001526,31.3999996185,60.0001983643,219,0.7699999809,10.8999996185,4.4499998093,0.200000003,2.2999999523,23.3999996185,13.8999996185,93.3000030518,71.0999984741,41.5,33.5,20.2999992371,13.6000003815,0.5,11.6000003815,8.220000267,0.0599999987,37,111,NA,NA -"72","070",0,0.9100000262,0.8000000119,0.200000003,1.2000000477,33.2999992371,4.8000001907,100,12.6999998093,136,9.5,100.0001983643,0,0.0299999993,7.4200000763,30.7999992371,59,447,1.2000000477,15,3.6900000572,0.3000000119,2.3900001049,19.6000003815,12.3000001907,96.5,78.4000015259,35.5999984741,34.5999984741,8.3999996185,12.6000003815,0.3000000119,10,9.470000267,0.0199999996,NA,NA,NA,NA -"73","071",3,0.9399999976,1.5299999714,0.8000000119,0.8399999738,29.7999992371,4.6999998093,99,9.3999996185,136,8.8999996185,100.0001983643,0,0.0500000007,6.4000000954,29.5,60.0001983643,382,0.6299999952,15.3000001907,4.5,0.200000003,2.4600000381,15.5,13.3999996185,89.3000030518,72,40.2000007629,33.2999992371,17.2000007629,15,0.6000000238,9.5,8.8900003433,0.0700000003,20,NA,9.1999998093,NA -"74","072",3,0.9599999785,2.9800000191,1.5,0.9200000167,32.5999984741,4.9,107,8.6999998093,142,11.6999998093,100.0001983643,0,0.0299999993,6.5,26.7000007629,60,293,0.79,10.5,4.5399999619,0.200000003,2.6,38.5,14.8000001907,98,61.4000015259,44.5,33.2999992371,28.1000003815,13.3999996185,0.3000000119,14.5,10.5900001526,0.1599999964,23,100,NA,NA -"75","073",1,1.1,2.23,4.4,0.8,33.5,4.6,102,9.3,137,10.8,93,0,0.03,5.2,29.9,60,395,1.03,10,4.57,0.3,2.5,30.6,15.3,93.4,60.2,42.7,35.8,25.8,13.8,0.3,12.2,8.64,0.38,NA,NA,NA,NA -"76","074",8,0.9300000072,1.9700000286,5.3000001907,1.0599999428,30.7000007629,4.9000000954,103,12.1000003815,138,11.1000003815,100.0001983643,0,0.0700000003,5.1900000572,31.7999992371,60.0001983643,336,0.9399999976,15.5,4.7199997902,0.3000000119,2.5299999714,34.0999984741,14.5,91.0999984741,59.2999992371,43,33.7000007629,22.5,12.6000003815,0.8000000119,12.8000001907,8.75,0.4600000083,36,NA,NA,NA -"77","074",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.8999999762 -"78","075",2,0.8700000048,2.3499999046,2.7000000477,0.6399999857,29.7999992371,4.9000000954,102,7.6999998093,138,9.3000001907,100.0001983643,0,0.0399999991,5.0500001907,28.8999996185,60.0001983643,267,0.8999999762,16.1000003815,4.8699998856,0.5,2.5,18.7999992371,14.5,84.8000030518,60.7999992371,41.2999992371,35.0999984741,28.2999992371,12.8999996185,0.5,10.5,8.3000001907,0.2199999988,19,NA,NA,NA -"79","076",1,0.8999999762,2.4400000572,1.7999999523,0.6899999976,31.7000007629,3.9000000954,NA,8.6999998093,136,9.8999996185,100.0001983643,0,0.0299999993,4.6599998474,32.7999992371,60.0001983643,245,0.9200000167,15.3999996185,4.5799999237,0.1000000015,2.4600000381,23.7999992371,14.5,89.6999969482,58.4000015259,41.0999984741,35.2999992371,30.7000007629,13.1000003815,0.400000006,11.1999998093,7.9600000381,0.1400000006,29,NA,NA,NA -"80","077",0,0.9900000095,1.6399999857,3.5999999046,0.5500000119,30.5,4.5,104,10.5,139,10.3999996185,100.0001983643,0,0.0599999987,2.8099999428,31.7999992371,60.0001983643,193,0.8399999738,10.6999998093,4.9099998474,0.200000003,2.4000000954,27.5,15,87.5999984741,53.5999984741,43,34.9000015259,31.2000007629,13.1999998093,1.1000000238,11.5,5.25,0.1899999976,30,86,NA,NA -"81","078",9,0.9499999881,1.9099999666,1,0.7900000215,28.7999992371,5.0999999046,103,8,138,10,100.0001983643,0,0.0199999996,7.0900001526,30.6000003815,60.0001983643,299,0.8100000024,16,5.2800002098,0.200000003,2.4600000381,24.6000003815,15.1999998093,86.4000015259,71.5,45.5999984741,33.2999992371,19.2999992371,12.6000003815,0.200000003,11.8000001907,9.9099998474,0.1000000015,NA,NA,NA,NA -"82","078",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,3,0.8999999762 -"83","079",4,1.0499999523,1.0299999714,2.2000000477,0.6600000262,31.6000003815,5.4000000954,NA,10.1999998093,146,11.8999996185,92,0,0.0399999991,4.6199998856,29.2000007629,60.0001983643,263,1.0599999428,15.6000003815,4.3000001907,0.3000000119,2.5399999619,41.0999984741,13.6000003815,97.4000015259,71.0999984741,41.9000015259,32.5,15.8999996185,13.6000003815,0.6000000238,15.3000001907,6.4899997711,0.1400000006,36,NA,NA,NA -"84","080",2,1.3600000143,2.4600000381,1.1000000238,0.7300000191,31.6000003815,4.6999998093,NA,10,139,12,64,0,0.0199999996,4.0300002098,34.4000015259,NA,194,0.6600000262,15.1999998093,4.6900000572,0.3000000119,2.4900000095,40.5,14.8000001907,93.4000015259,55,43.7999992371,33.7999992371,33.5999984741,13.5,0.3000000119,15.6999998093,7.3200001717,0.0799999982,18,NA,NA,NA -"85","081",0,1.0800000429,1.6599999666,2.2999999523,0.5799999833,30.7999992371,6,101,8.8999996185,137,10.3000001907,85,NA,0.0399999991,4.0700001717,27.6000003815,60.0001983643,259,1.0099999905,10,4.7399997711,0.200000003,2.4000000954,28.1000003815,14.6000003815,86.5,62.7000007629,41,35.5999984741,25.5,12.8999996185,0.6000000238,12.1000003815,6.5,0.150000006,NA,NA,NA,1 -"86","082",0,1.0800000429,1.6100000143,2.2000000477,0.5099999905,30.2000007629,5,NA,9.5,139,11.3000001907,88,0,0.0199999996,3.1099998951,31,60.0001983643,215,0.8700000048,16.8999996185,5.1599998474,0,2.4700000286,34.5999984741,15.6000003815,87.1999969482,57.9000015259,45,34.7000007629,30,12.8000001907,0.400000006,13.8000001907,5.3699998856,0.1199999973,38,NA,NA,NA -"87","083",3,NA,1.7300000191,0.200000003,0.4799999893,31.5,4.5,96,5.6999998093,135,10.6000003815,NA,0,0.0299999993,6.0999999046,NA,42,212,1.5700000525,NA,3.9400000572,0.200000003,2.5,30.2999992371,12.3999996185,92.4000015259,73,36.4000015259,34.0999984741,20.7000007629,16.5,0.400000006,13.1000003815,8.3599996567,0.0199999996,NA,NA,16,0.8000000119 -"88","083",1,1.3400000334,NA,NA,NA,NA,NA,NA,NA,NA,NA,65,NA,NA,NA,54.2000007629,NA,NA,NA,200.0001983643,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"89","084",0,1.1299999952,1.5399999619,5.6999998093,0.9399999976,32.0999984741,4.3000001907,108,9.6000003815,142,10.3999996185,77,NA,0.0900000036,6.6399998665,29.5,55,264,1.2799999714,9.3999996185,4.9499998093,0.3000000119,2.4000000954,27.7999992371,15.8999996185,94.0999984741,68,46.5999984741,34.0999984741,15.8000001907,14.8000001907,0.8999999762,12.3000001907,9.7700004578,0.5600000024,NA,NA,NA,NA -"90","085",3,0.9100000262,0.4399999976,1.7999999523,0.8899999857,30.2999992371,4.1999998093,106,14.5,140,9.6999998093,100.0001983643,0,0.0199999996,4.6599998474,26.2999992371,60.0001983643,270,0.7300000191,15.3999996185,4.0599999428,0.200000003,2.2400000095,22.2999992371,12.3000001907,92.0999984741,76.1999969482,37.4000015259,32.9000015259,7.1999998093,14.6999998093,0.3000000119,11.1999998093,6.1199998856,0.1099999994,NA,NA,NA,0.8000000119 -"91","086",3,0.8899999857,2.3800001144,2.0999999046,0.5600000024,31,5,100,4.8000001907,137,9.5,100.0001983643,0,0.0700000003,8.470000267,30.3999996185,60.0001983643,402,0.6999999881,16.2999992371,4.7699999809,0.400000006,2.3299999237,20.7000007629,14.8000001907,88.6999969482,72.1999969482,42.2999992371,35,20.2999992371,13.1999998093,0.6000000238,10.8999996185,11.7299995422,0.25,28,NA,NA,NA -"92","087",3,1,2.0899999142,1.7999999523,0.7200000286,28.3999996185,4.6999998093,NA,9,141,11.1000003815,99,0,0.0399999991,5.0100002289,31.5,60.0001983643,229,0.6600000262,16,5.3899998665,0.1000000015,2.3099999428,34.9000015259,15.3000001907,85,62.5999984741,45.7999992371,33.4000015259,26.1000003815,13.3999996185,0.5,13.6000003815,8,0.1400000006,23,NA,NA,NA -"93","088",0,1.02,1.3,2.6,1.24,28.9,5.1,NA,17.9,138,NA,100,NA,0.05,4.17,29.6,60,357,0.53,10.5,4.15,NA,2.5,33.5,12.1,89.4,60.1,37.1,32.8,18.7,15.7,0.7,11.4,6.94,0.18,NA,NA,NA,NA -"94","090",10,0.9700000286,2.8499999046,1.3999999762,0.9300000072,27.8999996185,4.0999999046,NA,11.1000003815,139,10.8999996185,100.0001983643,0,0.0299999993,4.4299998283,31,55,259,1.3700000048,15.8000001907,5.2600002289,0.1000000015,2.4500000477,32.5999984741,14.6999998093,82.5,53,43.4000015259,33.9000015259,34.0999984741,13.3000001907,0.400000006,13.3000001907,8.3599996567,0.1199999973,NA,NA,NA,NA -"95","090",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,32,NA,NA,NA -"96","091",3,0.9300000072,1.4900000095,1.5,0.8000000119,32.5,4.4000000954,NA,11.1999998093,134,9.8999996185,100.0001983643,0,0.0299999993,4.6900000572,28.2999992371,60.0001983643,228,0.7799999714,14.6999998093,4.8299999237,0.400000006,2.4100000858,23.5,15.6999998093,94.1999969482,66,45.5,34.5,20.8999996185,12.6000003815,0.400000006,10.6000003815,7.1199998856,0.1099999994,19,NA,NA,NA -"97","092",0,NA,NA,NA,NA,NA,NA,101,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1.7999999523,0.8000000119 -"98","092",4,NA,1.5299999714,2.7000000477,0.6399999857,30.7000007629,5,NA,13.5,131,9.1000003815,NA,0,0.0599999987,2.3699998856,NA,60.0001983643,228,0.8299999833,NA,4.5,0.200000003,2.4000000954,16.7000007629,13.8000001907,87.5999984741,50.2000007629,39.4000015259,35,32.2999992371,14.1000003815,1.2999999523,9.6999998093,4.7300000191,0.1299999952,11,NA,NA,NA -"99","092",2,1.1499999762,NA,NA,NA,NA,NA,NA,NA,NA,NA,80,NA,NA,NA,56,NA,NA,NA,200.0001983643,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"100","093",1,0.89,1.02,0.3,0.52,31.1,4.1,103,7.3,136,NA,100,NA,0.01,5.58,27.9,60,202,0.66,10.8,4.57,NA,2.3,38.3,14.2,88.6,78,40.5,35.1,14.3,12.9,0.1,14.3,7.15,0.02,NA,NA,NA,0.8 -"101","094",1,0.99,1.37,3.6,1.17,33,5.2,104,12.1,137,10.8,100,0,0.09,6.71,28.2,60,236,0.7,9.5,4.4,0.3,2.2,30.4,14.5,92.5,69.3,40.7,35.6,14.1,12.8,0.9,12.8,9.69,0.35,21,115,NA,NA -"102","095",0,1.05,2.6,NA,NA,30.6,5.3,102,NA,138,NA,100,NA,NA,1.95,30.7,60,274,0.83,10.8,4.77,NA,2.5,NA,14.6,89.4,38,42.6,34.2,51.1,14.3,NA,NA,5.14,NA,NA,95,NA,NA -"103","096",1,0.94,1.97,3.5,0.85,31.3,4.8,104,7.3,138,NA,100,NA,0.21,8.18,34.6,60,361,0.86,10.2,4.66,NA,2.3,31.2,14.6,91.2,70.4,42.5,34.4,17,16,1.8,12.7,11.62,0.41,NA,NA,NA,0.9 -"104","097",1,0.9700000286,2.25,1.2999999523,1.2000000477,33.0999984741,4.4000000954,NA,10.1000003815,138,9.6000003815,100.0001983643,0,0.0399999991,8.2700004578,28,60.0001983643,356,0.6600000262,15,4.4699997902,0.3000000119,2.4500000477,21.3999996185,14.8000001907,93.3000030518,69.4000015259,41.7000007629,35.5,18.8999996185,13,0.3000000119,10.8000001907,11.9099998474,0.150000006,36,NA,NA,NA -"105","099",0,0.8899999857,1.7000000477,0.8999999762,0.5,30,4.0999999046,106,7.1999998093,139,13.3999996185,100.0001983643,0,0.0500000007,4.6100001335,26.1000003815,60.0001983643,235,0.8000000119,17.1000003815,4.8699998856,0.1000000015,2.4700000286,52.0999984741,14.6000003815,82.5,66.5999984741,40.2000007629,36.2999992371,24.6000003815,13.6000003815,0.6999999881,19.5,6.9200000763,0.0599999987,NA,NA,0.8999999762,NA -"106","100",2,NA,2.1099998951,2.4000000954,0.8700000048,33,4.9000000954,NA,10.5,137,11.8000001907,NA,0,0.0399999991,5.0999999046,NA,44,183,1.5199999809,NA,4.3299999237,0.5,2.4500000477,39.2999992371,14.3000001907,95.4000015259,61.2000007629,41.2999992371,34.5999984741,25.3999996185,14.1000003815,0.5,15.6999998093,8.3199996948,0.200000003,NA,NA,NA,NA -"107","100",1,2.4500000477,NA,NA,NA,NA,NA,NA,NA,NA,NA,30,NA,NA,NA,77.9000015259,NA,NA,NA,200.0001983643,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"108","101",1,0.99,1.07,5.3,1.03,31.7,4.9,98,11.1,131,10,100,0,0.05,6.66,28,60,230,1,9.8,3.82,0.3,2.4,24.6,12.1,89.8,71.6,34.3,35.3,11.5,13,0.5,11.5,9.3,0.49,NA,NA,NA,0.8 -"109","102",12,1.0299999714,1.2999999523,0.1000000015,0.1099999994,28,3.5,NA,1.2999999523,139,11.1999998093,95,0,0.0099999998,7.2199997902,38.5999984741,60.0001983643,153,0.6399999857,10,5.3899998665,0.200000003,2.5,35.0999984741,15.1000003815,79.5999984741,83.5,42.9000015259,35.2000007629,15,13.1999998093,0.1000000015,14,8.6499996185,0.0099999998,30,160,4.8000001907,NA -"110","103",0,0.98,0.65,2.7,0.8,34,4.6,99,12.2,133,9.5,100,0,0.02,4.91,27.9,60,189,0.78,11.2,3.85,0.3,2.4,21.1,13.1,94.5,74.9,36.4,36,9.9,12.5,0.3,10.7,6.56,0.18,31,98,NA,NA -"111","104",2,1.0099999905,2.4200000763,2.5,1.1900000572,31.2999992371,4.3000001907,95,11.5,122,8.8000001907,98,0,0.0399999991,6.4099998474,30.8999996185,60.0001983643,247,0.8399999738,15.3000001907,3.8399999142,0.6000000238,2.1400001049,14.5,12,87.5,62.2000007629,33.5999984741,35.7000007629,23.3999996185,14.1999998093,0.400000006,9.1000003815,10.3199996948,0.2599999905,NA,NA,98.4000015259,0.8000000119 -"112","104",3,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,13,NA,NA,NA -"113","106",0,0.94,2.07,NA,NA,27.9,4.7,104,NA,139,NA,100,NA,NA,8.79,29.5,60,369,0.78,9.9,5.01,NA,2.5,NA,14,84.7,68.9,42.4,33,16.2,14.5,NA,NA,12.77,NA,NA,64,NA,NA -"114","107",0,0.8899999857,1.7599999905,3.7000000477,0.7300000191,33.4000015259,4.1999998093,106,8,140,11.5,100.0001983643,0,0.0599999987,6.2399997711,29.1000003815,60.0001983643,209,0.7699999809,16.1000003815,4.5199999809,0.200000003,2.3399999142,36.5,15.1000003815,96,68.3000030518,43.4000015259,34.7999992371,19.2999992371,13.1000003815,0.6999999881,13.3999996185,9.1300001144,0.3400000036,27,NA,NA,NA -"115","108",10,0.9900000095,1.2799999714,0.5,0.4399999976,28.8999996185,5,96,6.5999999046,127,9.1999998093,100.0001983643,0,0.0500000007,4.8600001335,28.5,60.0001983643,308,0.6800000072,15.6999998093,4.3299999237,0.3000000119,2.3499999046,18.3999996185,12.5,81.3000030518,72.9000015259,35.2000007629,35.5,19.2000007629,13.1999998093,0.8000000119,9.8000001907,6.6599998474,0.0299999993,NA,NA,NA,0.8000000119 -"116","109",0,1.05,2.24,3.2,0.61,31.7,5.4,NA,6.1,141,NA,91,NA,0.02,6.74,34,42,125,1.71,10.4,4.73,NA,2.4,39.1,15,93.7,67.9,44.3,33.9,22.6,13.2,0.2,14.8,9.93,0.32,28,NA,NA,NA -"117","110",0,0.98,1.52,3.4,0.6,32.3,4,107,10.7,139,11.8,100,0,0.05,3.26,29.8,60,184,0.62,10.2,4.27,0.2,2.3,37.8,13.8,97.9,58,41.8,33,27,14.9,0.9,14.9,5.62,0.19,31,89,NA,NA -"118","111",3,1.0599999428,0.6700000167,1.7000000477,0.4499999881,32.0999984741,4.4000000954,97,8.6999998093,135,9.5,90,0,0.0099999998,3.9500000477,28.7000007629,60.0001983643,214,0.8100000024,17.3999996185,3.7100000381,0.400000006,2.2999999523,20,11.8999996185,92.5,76.4000015259,34.2999992371,34.7000007629,13,15.1999998093,0.200000003,10.1000003815,5.1700000763,0.0900000036,52,NA,NA,NA -"119","112",1,1.05,1.56,1,0.5,33,4.5,107,6.9,140,9.4,96,0,0.02,5.14,27.9,60,211,0.99,10.5,4.52,0.3,2.3,19.3,14.9,90.5,70.4,40.9,36.4,21.4,12.6,0.3,9.8,7.29,0.07,NA,NA,NA,NA -"120","112",13,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.9 -"121","113",3,1.4500000477,0.6200000048,1.3999999762,0.6200000048,26.7999992371,3.0999999046,NA,14.5,134,10.1000003815,58,0,0.0199999996,2.9700000286,36,60.0001983643,102,0.7699999809,17.7999992371,4.6999998093,0.200000003,2.2999999523,27.7000007629,12.6000003815,83,69.0999984741,39,32.2999992371,14.5,19.5,0.5,14.3999996185,4.2899999619,0.0599999987,25,NA,NA,NA -"122","114",0,1.0800000429,1.8099999428,2.7999999523,0.6700000167,32.5999984741,4.0999999046,103,8.8999996185,139,9.1999998093,88,0,0.0500000007,4.8299999237,30,60.0001983643,216,0.8399999738,16.7000007629,4.3800001144,0.3000000119,2.3900001049,17.2000007629,14.3000001907,95.9000015259,63.7000007629,42,34,23.8999996185,15.3000001907,0.6999999881,10,7.5700001717,0.2099999934,28,NA,NA,NA -"123","115",3,1.0900000334,2.8099999428,1.2000000477,0.6999999881,32.7000007629,3.9000000954,107,7.5999999046,141,12,86,0,0.0399999991,5.5599999428,32,60.0001983643,281,0.5600000024,15.1000003815,3.7000000477,0.200000003,2.1700000763,42.7000007629,12.1000003815,98.9000015259,60.2999992371,36.5999984741,33.0999984741,30.5,14,0.400000006,15.8999996185,9.220000267,0.1099999994,28,86,NA,NA -"124","116",1,0.8700000048,1.0199999809,1.2000000477,0.6000000238,32.7000007629,3.9000000954,NA,9.1000003815,122,10.1999998093,100.0001983643,0,0.0199999996,4.8699998856,31.2000007629,60.0001983643,232,0.9399999976,15.3000001907,4.4099998474,0.3000000119,2.2400000095,25.3999996185,14.3999996185,85,73.9000015259,37.5,38.4000015259,15.5,12.6999998093,0.3000000119,11.1000003815,6.5900001526,0.0799999982,17,NA,NA,NA -"125","117",0,1.0199999809,3.7200000286,3.0999999046,0.5899999738,32,4.0999999046,NA,6.0999999046,139,10.3999996185,97,0,0.0399999991,5,31.2999992371,60.0001983643,157,1,15.8000001907,4.9299998283,0.1000000015,2.6400001049,27.7000007629,15.8000001907,90.5,51.9000015259,44.5999984741,35.4000015259,38.5,13.3000001907,0.400000006,12.1999998093,9.6499996185,0.3000000119,31,NA,NA,NA -"126","118",8,1.08,1.27,3,0.77,31.3,4.1,108,10.6,136,9.7,81,0,0.03,4.96,35.3,60,217,1.04,12.3,3.86,0.1,2.2,22,12.1,89.6,68.5,34.6,35,17.5,13.2,0.4,10.7,7.25,0.22,NA,NA,NA,0.8 -"127","118",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,34,96,NA,NA -"128","120",0,0.9599999785,1.5199999809,1.5,0.4699999988,29.2999992371,4.5,102,7.1999998093,140,12.1999998093,100.0001983643,0,0.0399999991,4.4299998283,26.1000003815,60.0001983643,292,0.7900000215,17,4.6399998665,0.3000000119,2.4100000858,43.2000007629,13.6000003815,93.0999984741,67.5,43.2000007629,31.5,23.2000007629,14,0.6000000238,16,6.5599999428,0.1000000015,NA,NA,NA,NA -"129","121",4,1.03,3.15,1.1,0.69,32.8,4.3,102,6.3,138,12,100,0,0.04,6.9,29.3,60,237,0.73,9.9,4.54,0.3,2.5,39.9,14.9,94.7,63.3,43,34.7,28.9,13.6,0.4,14.7,10.9,0.12,23,119,NA,NA -"130","122",2,1.14,1.21,0.1,0.58,30.7,3.7,108,8.4,143,11,80,0,0.02,5.12,31.8,60,103,0.58,10.7,4.53,0.1,2.3,34.7,13.9,88.3,73.8,40,34.8,17.4,12.1,0.3,13.7,6.94,0.01,25,94,NA,NA -"131","123",3,0.9800000191,1.7300000191,2.5,0.6000000238,29.1000003815,4.3000001907,NA,7.9000000954,141,12.6000003815,100.0001983643,0,0.0299999993,5.0599999428,31.2000007629,57,188,1.2200000286,16.6000003815,5.2300000191,0.1000000015,2.4400000572,45,15.1999998093,87,66.5,45.5,33.4000015259,22.7000007629,14.1999998093,0.400000006,18.2999992371,7.6100001335,0.1899999976,61,NA,NA,NA -"132","124",1,0.9900000095,6.8299999237,0.400000006,0.4900000095,29.8999996185,4.3000001907,NA,4.8000001907,140,12.5,100.0001983643,0,0.0199999996,2.8900001049,28.2000007629,60.0001983643,113,0.75,15.8999996185,4.3800001144,0.200000003,2.3199999332,46.2000007629,13.1000003815,90.5999984741,28.1000003815,39.7000007629,33,66.5,14.5,0.200000003,16.1000003815,10.2700004578,0.0399999991,33,NA,NA,NA -"133","126",2,0.9399999976,1.4900000095,1.8999999762,0.9399999976,31.8999996185,5.0999999046,101,8.3999996185,138,10.8999996185,100.0001983643,0,0.0599999987,8.5500001907,35.7000007629,60.0001983643,293,0.7900000215,9.3999996185,4.1999998093,0.3000000119,2.5,31.2000007629,13.3999996185,94.8000030518,76,39.7999992371,33.7000007629,13.1999998093,14.3000001907,0.5,12.6999998093,11.25,0.2099999934,54,138,NA,NA -"134","127",3,NA,NA,NA,NA,NA,4,97,NA,137,NA,NA,NA,NA,NA,NA,60.0001983643,NA,1.1699999571,NA,NA,NA,2.2999999523,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,43,97,NA,NA -"135","127",2,NA,1.3799999952,0.8999999762,0.6399999857,27.6000003815,NA,NA,11.3999996185,NA,11.3999996185,NA,0,0.0099999998,3.5499999523,NA,NA,184,NA,NA,4.75,0.400000006,NA,37,13.1000003815,80.4000015259,63,38.2000007629,34.2999992371,24.5,14.3000001907,0.200000003,14.3999996185,5.6300001144,0.0500000007,NA,NA,NA,NA -"136","127",1,1.3300000429,NA,NA,NA,NA,NA,NA,NA,NA,NA,65,NA,NA,NA,63.4000015259,NA,NA,NA,15.1999998093,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"137","128",0,1,1.0599999428,0.400000006,0.3799999952,30.7000007629,4.3,106,7,140,9.6000003815,99,0,0.0199999996,3.9400000572,30.1000003815,60,246,0.81,10.8000001907,4.5900001526,0.200000003,2.3,22.6000003815,14.1000003815,90,72.5999984741,41.2999992371,34.0999984741,19.6000003815,13.1000003815,0.400000006,11.5,5.4200000763,0.0199999996,47,103,NA,NA -"138","130",0,1,1.3,NA,NA,32.2,4.3,103,NA,138,NA,99,NA,NA,6.45,34.1,60,224,1.09,10.2,4.87,NA,2.6,NA,15.7,89,78.2,43.3,36.2,15.2,13.7,NA,NA,8.25,NA,NA,119,NA,NA -"139","131",5,1.0599999428,1.5599999428,1.6000000238,0.5299999714,29.7000007629,4.4000000954,103,5.9000000954,138,13.3000001907,91,0,0.0299999993,6.6500000954,33.5,60.0001983643,233,0.8000000119,10.1999998093,4.3400001526,0.200000003,2.2000000477,51.9000015259,12.8999996185,89.9000015259,74.6999969482,39,33.0999984741,17.5,13.3000001907,0.3000000119,18.7999992371,8.9099998474,0.1400000006,NA,NA,NA,0.8000000119 -"140","132",3,0.9200000167,1.5499999523,4.5999999046,0.7799999714,33.5,5,104,9,139,10.5,100.0001983643,0,0.0500000007,5.9200000763,30.1000003815,60.0001983643,216,0.6700000167,16,4.5999999046,0.5,2.2899999619,30.2000007629,15.3999996185,98,68,45.0999984741,34.0999984741,17.7999992371,13.3999996185,0.6000000238,12.8999996185,8.6999998093,0.400000006,24,NA,NA,NA -"141","133",3,0.8600000143,1.2300000191,0.1000000015,0.4499999881,34.5999984741,4.4000000954,105,5.5,139,10.1000003815,100.0001983643,0,0.0199999996,6.5399999619,27.2000007629,60.0001983643,271,0.8199999928,16.3999996185,4.5399999619,0.5,2.3299999237,24.5,15.6999998093,100.1999969482,79.3000030518,45.5,34.5,14.8999996185,13.3000001907,0.200000003,11.1999998093,8.25,0.0099999998,12,NA,NA,NA -"142","134",0,1.13,1.59,1.2,0.54,30.9,4.2,106,10.5,141,10.1,76,0,0.01,2.95,34,60,198,0.87,10.5,4.11,0.2,2.4,26,12.7,89.1,57.2,36.6,34.7,30.9,13.2,0.2,11.8,5.15,0.06,NA,NA,NA,NA -"143","135",3,1,3.4500000477,0.8000000119,1,33.5,4.5999999046,NA,10,136,10,100.0001983643,0,0.0299999993,5.4600000381,32.7999992371,60.0001983643,227,0.6999999881,15.1999998093,4.0599999428,0.200000003,2.2200000286,24.6000003815,13.6000003815,97.8000030518,54.5,39.7000007629,34.2999992371,34.4000015259,12.3000001907,0.3000000119,11.6000003815,10.0200004578,0.0799999982,23,NA,NA,NA -"144","136",1,1.0399999619,1.3400000334,2.2000000477,0.4900000095,30.5,3.1,107,9,139,10.1000003815,90,0,0.0199999996,3.4600000381,31.2000007629,60,192,0.53,10,4.0300002098,0.200000003,2.1,26.2000007629,12.3000001907,90.8000030518,63.7000007629,36.5999984741,33.5999984741,24.7000007629,13.6999998093,0.400000006,11.5,5.4299998283,0.1199999973,12,98,NA,NA -"145","137",2,0.9700000286,2.7699999809,2.2000000477,1.2599999905,31.7000007629,4.6999998093,NA,11.8000001907,135,9.5,100.0001983643,0,0.1199999973,6.3000001907,29.6000003815,60.0001983643,331,0.8100000024,15.3000001907,4.3200001717,0.3000000119,2.4000000954,21,13.6999998093,91.6999969482,59,39.5999984741,34.5999984741,25.8999996185,14.8999996185,1.1000000238,11.1999998093,10.6899995804,0.2399999946,NA,NA,NA,NA -"146","137",10,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,29,NA,NA,NA -"147","138",13,1.0099999905,1.8899999857,1,0.4699999988,31,4.5,107,7.6999998093,140,10.1999998093,98,0,0.0199999996,3.6900000572,29,60.0001983643,267,0.8799999952,16.1000003815,4.8400001526,0.200000003,2.4000000954,25.7999992371,15,89.5,60.2000007629,43.2999992371,34.5999984741,30.7999992371,15,0.3000000119,12.3000001907,6.1300001144,0.0599999987,NA,NA,NA,NA -"148","139",0,0.89,3.3,NA,NA,30.8,4.8,100,NA,136,NA,100,NA,NA,4.75,26.6,60,483,0.76,9.6,4.22,NA,2.6,NA,13,91.4,51.9,38.6,33.7,36.1,16.4,NA,NA,9.14,NA,NA,84,NA,NA -"149","142",1,0.9399999976,0.6000000238,5.3000001907,0.2099999934,31.8999996185,3.7999999523,97,5,137,9,100.0001983643,0,0.0099999998,3.1400001049,25.7999992371,60.0001983643,263,0.5600000024,9.6999998093,4.1700000763,0.200000003,2.4000000954,17,13.3000001907,93.8000030518,75.0999984741,39.0999984741,34,14.3999996185,12.1000003815,0.200000003,10.1000003815,4.1799998283,0.2199999988,NA,NA,NA,NA -"150","143",4,1.01,2.55,2.4,0.71,32,4.3,103,7.8,137,NA,97,0,0.09,5.5,36.7,60,288,0.71,9.4,4.12,0.3,2.5,28.3,13.2,93.9,60.7,38.7,34.1,28.1,13.2,1,12.1,9.07,0.22,NA,NA,NA,0.7 -"151","144",0,0.89,2.5,1.9,0.91,29.1,4.8,101,9.3,140,NA,100,0,0.03,6.12,30.4,60,260,0.91,9.6,4.92,0.8,2.5,41.4,14.3,86.2,62.9,42.4,33.7,25.6,15.1,0.3,15,9.75,0.19,NA,NA,NA,0.9 -"152","145",0,1.0299999714,2.5499999523,5.0999999046,0.9700000286,34.5999984741,5.3000001907,NA,13.5,140,10.8000001907,95,0,0.0399999991,3.2799999714,25.2000007629,60.0001983643,211,1.1399999857,18,4.5700001717,0.6000000238,2.3099999428,31.2000007629,15.8000001907,100.4000015259,45.4000015259,45.9000015259,34.4000015259,35.4000015259,13.3000001907,0.6000000238,12.8999996185,7.2100000381,0.3700000048,31,NA,NA,NA -"153","146",0,0.8500000238,2.0799999237,1.3999999762,0.8100000024,32.0999984741,5.0999999046,NA,6.9000000954,138,10.5,100.0001983643,NA,0.0500000007,8.6999998093,26.1000003815,60.0001983643,270,0.9300000072,15.8999996185,4.4899997711,0.200000003,2.3699998856,29.6000003815,14.3999996185,94,73.6999969482,42.2000007629,34.0999984741,17.6000003815,12.5,0.400000006,12.6000003815,11.8100004196,0.1700000018,35,NA,NA,NA -"154","148",0,0.9300000072,1.5800000429,2.7000000477,0.9700000286,29.8999996185,5.3000001907,98,10.3999996185,137,9.8999996185,100.0001983643,0,0.0199999996,6.4899997711,35.4000015259,60.0001983643,380,1.1499999762,10.1000003815,4.7100000381,0.200000003,2.4000000954,23.3999996185,14.1000003815,91.3000030518,69.6999969482,43,32.7999992371,17,15.3000001907,0.200000003,11.1000003815,9.3100004196,0.25,NA,NA,NA,NA -"155","149",1,0.98,1.83,2.6,1.09,31.1,3.8,103,11.6,136,9.8,100,0,0.05,6.2,50,60,327,0.84,11.8,3.22,0.4,2.1,21.9,10,95.7,65.9,30.8,32.5,19.4,14.2,0.5,10.2,9.41,0.24,NA,NA,9.3,0.8 -"156","150",13,1.0299999714,1.6200000048,2.9000000954,0.6499999762,32.5999984741,3.9000000954,108,8.8999996185,139,12.1000003815,95,0,0.0500000007,4.7699999809,33,60.0001983643,167,0.7699999809,10.5,5.4899997711,0.400000006,2.4000000954,40.4000015259,17.8999996185,90.1999969482,65.3000030518,49.5,36.2000007629,22.2000007629,13.1000003815,0.6999999881,15.8999996185,7.3000001907,0.2099999934,NA,NA,NA,NA -"157","150",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,24,78,NA,NA -"158","151",0,0.8999999762,1.5,1.6000000238,0.8899999857,32,4.8000001907,101,13.3000001907,135,11,100.0001983643,0,0.0199999996,4.1599998474,28.7000007629,60.0001983643,254,0.9800000191,10.6000003815,4.75,0.1000000015,2.4000000954,34.2999992371,15.1999998093,93.6999969482,62.2999992371,44.5,34.2000007629,22.5,12.3999996185,0.3000000119,14.1999998093,6.6799998283,0.1099999994,NA,NA,NA,0.8999999762 -"159","152",0,1.04,1.8,NA,NA,30.4,5,100,NA,137,NA,92,NA,NA,6.85,28.8,NA,366,0.68,9.3,4.21,NA,2.4,NA,12.8,91.6,72.8,38.6,33.2,19.6,13.5,NA,NA,9.42,NA,NA,85,NA,NA -"160","153",3,0.9800000191,2.1800000668,1.2999999523,0.5299999714,30.7999992371,4.1999998093,105,6.8000001907,137,10.6000003815,100.0001983643,0,0.0399999991,4.9200000763,33.7999992371,60.0001983643,268,0.8600000143,15,4.8000001907,0.1000000015,2.3399999142,31,14.8000001907,91.6999969482,63.2999992371,44,33.5999984741,28.1000003815,15.3999996185,0.5,13.6000003815,7.7699999809,0.1000000015,NA,NA,10.6000003815,0.8000000119 -"161","154",1,1.0900000334,1.6799999475,1.3999999762,0.9900000095,27.8999996185,3.2999999523,104,9.3999996185,140,8.8999996185,87,0,0.0199999996,7.7399997711,37.0999984741,55,336,1.2899999619,9.3000001907,4.0500001907,0.3000000119,2.2999999523,16.2000007629,11.3000001907,82.5,73.0999984741,33.4000015259,33.7999992371,15.8999996185,14.3000001907,0.200000003,9.8000001907,10.5799999237,0.150000006,25,103,NA,NA -"162","156",0,0.8500000238,1.7000000477,0.1000000015,0.5699999928,31.1000003815,4.5999999046,NA,6.8000001907,143,11.3999996185,100.0001983643,0,0.0299999993,6.0300002098,28.6000003815,NA,308,0.7099999785,15.5,4.5999999046,0.400000006,2.5299999714,36.7999992371,14.3000001907,91.6999969482,72.3000030518,42.2000007629,33.9000015259,20.3999996185,13.8999996185,0.400000006,14.5,8.3400001526,0.0099999998,32,NA,NA,NA -"163","157",2,1.02,3.07,1.2,0.67,37.4,5.2,99,8.2,136,9.2,96,0,0.04,4.31,37.1,60,244,0.91,10.2,3.53,0.1,2.5,18.1,13.2,108.8,52.6,38.4,34.4,37.5,12.8,0.5,9.6,8.19,0.1,29,96,NA,NA -"164","158",0,0.9499999881,1.4299999475,0.5,0.4099999964,30.6000003815,4,NA,4.9000000954,139,10.8000001907,100.0001983643,0,0.0199999996,6.5399999619,30.5,60.0001983643,262,0.8700000048,15.6999998093,4.7699999809,0.200000003,2.4100000858,31.1000003815,14.6000003815,88.9000015259,77.5,42.4000015259,34.4000015259,16.8999996185,12.6000003815,0.200000003,13.1999998093,8.4399995804,0.0399999991,26,NA,NA,NA -"165","159",1,1.0299999714,1.4400000572,0.6000000238,0.5600000024,31.5,4.3000001907,NA,8.8000001907,138,11.8000001907,95,0,0.0199999996,4.2699999809,28.2000007629,60.0001983643,173,0.6299999952,16.1000003815,4.2600002289,0,2.3499999046,40.2999992371,13.3999996185,93.9000015259,67.5999984741,40,33.5,22.7000007629,13.6999998093,0.3000000119,14.3999996185,6.3299999237,0.0399999991,34,NA,NA,NA -"166","160",4,0.98,0.94,NA,NA,29.6,4.6,102,NA,140,NA,100,NA,NA,3.74,29.3,60,224,0.75,10.5,4.33,NA,2.6,NA,12.8,86.9,73.3,37.6,34,18.3,13.8,NA,NA,5.11,NA,NA,107,NA,NA -"167","161",4,0.9200000167,2.9600000381,2.9000000954,1.2699999809,36.5999984741,4.9000000954,NA,11.1000003815,139,10.5,100.0001983643,0,0.0399999991,6.8400001526,28.5,60.0001983643,239,0.6700000167,16.2999992371,4.1799998283,0.3000000119,2.4200000763,27.8999996185,15.3000001907,107.1999969482,59.7999992371,44.7999992371,34.2000007629,25.8999996185,13.6999998093,0.3000000119,11.5,11.4399995804,0.3300000131,19,NA,NA,NA -"168","162",0,0.9599999785,2.5999999046,1.5,0.6700000167,33.2000007629,4.6999998093,NA,7.4000000954,137,10.3999996185,100.0001983643,0,0.0199999996,5.6300001144,30.2000007629,60.0001983643,274,1.0199999809,14.6000003815,4.1900000572,0.200000003,2.4400000572,27.2999992371,13.8999996185,95.9000015259,62.2000007629,40.2000007629,34.5999984741,28.7000007629,14,0.200000003,11.1999998093,9.0600004196,0.1400000006,40,NA,NA,NA -"169","163",1,0.9300000072,1.8500000238,3.2999999523,0.5699999928,29.3999996185,4.5,NA,10.3000001907,140,10.3999996185,100.0001983643,0,0.0500000007,2.8599998951,28.8999996185,60.0001983643,247,0.8899999857,15,5.4099998474,0,2.4300000668,28,15.8999996185,84.3000030518,51.9000015259,45.5999984741,34.9000015259,33.5999984741,12.8999996185,0.8999999762,11.8999996185,5.5100002289,0.1800000072,36,NA,NA,NA -"170","164",1,1.1599999666,1.3500000238,4.0999999046,0.6999999881,28.3999996185,4.5,101,10.6000003815,140,9.6000003815,80,0,0.0500000007,4.2300000191,32.7000007629,60.0001983643,243,0.8100000024,19.2000007629,4.1500000954,0.3000000119,2.2799999714,21.3999996185,11.8000001907,86.3000030518,64,35.7999992371,33,20.5,17.2000007629,0.8000000119,10.8999996185,6.5999999046,0.2700000107,NA,NA,NA,NA -"171","166",9,0.9300000072,1.2200000286,0.6000000238,0.5,32.2999992371,4.4000000954,102,9.5,139,9.8000001907,100.0001983643,0,0.0299999993,3.4600000381,31,60.0001983643,266,0.7099999785,16.7999992371,4.6799998283,0.400000006,2.4400000572,23,15.1000003815,91.6999969482,66,42.9000015259,35.2000007629,23.2999992371,12.8000001907,0.6000000238,11,5.2399997711,0.0299999993,NA,NA,NA,NA -"172","167",1,0.9700000286,1.7899999619,0.5,0.3700000048,36.9000015259,4.5,NA,5,131,10.3000001907,100.0001983643,0,0.0199999996,5.2399997711,27.7999992371,60.0001983643,288,0.6700000167,15.8999996185,4.1999998093,0.1000000015,2.3199999332,27,15.5,102.5999984741,70.1999969482,43.0999984741,36,24,12.8000001907,0.3000000119,12.3000001907,7.4600000381,0.0399999991,12,87,NA,NA -"173","168",0,0.9700000286,2.0799999237,2.4000000954,0.6800000072,31.2000007629,4.1999998093,NA,7.8000001907,142,10.8000001907,100.0001983643,0,0.0900000036,5.6300001144,27.8999996185,60.0001983643,218,1.0299999714,16.3999996185,5.2899999619,0.200000003,2.4900000095,31.2999992371,16.5,85.5999984741,64.9000015259,45.2999992371,36.4000015259,23.8999996185,12.6999998093,1,13.3999996185,8.6899995804,0.2099999934,39,NA,NA,NA -"174","169",3,0.9399999976,1.8200000525,0.6999999881,0.400000006,31.2999992371,4.4000000954,NA,5.1999998093,137,11.6000003815,100.0001983643,0,0.0299999993,5.3699998856,25.7999992371,60.0001983643,276,0.7400000095,16.7000007629,4.7300000191,0.1000000015,2.5899999142,39.2000007629,14.8000001907,90.9000015259,70,43,34.4000015259,23.7000007629,12,0.400000006,15.5,7.6700000763,0.0500000007,28,NA,NA,NA -"175","170",0,0.8799999952,1.6299999952,3.7999999523,1.3400000334,31.2000007629,5.0999999046,NA,21,134,9.6000003815,100.0001983643,0,0.0799999982,3.0899999142,32.2000007629,NA,392,0.6399999857,14.3000001907,4.7399997711,0.200000003,2.5699999332,20.2000007629,14.8000001907,89.9000015259,48.4000015259,42.5999984741,34.7000007629,25.5,13.1000003815,1.2999999523,10.1000003815,6.3800001144,0.2399999946,10,NA,NA,NA -"176","171",1,0.9900000095,5.6799998283,1,0.6899999976,33.2000007629,4.0999999046,103,6,141,11.8999996185,100.0001983643,0,0.0199999996,4.9899997711,26.2999992371,60.0001983643,180,1.0299999714,10.3999996185,4.3099999428,0.5,2.2999999523,41.5,14.3000001907,97,43.4000015259,41.7999992371,34.2000007629,49.4000015259,13.3999996185,0.200000003,15.8000001907,11.4899997711,0.1099999994,37,101,NA,NA -"177","172",1,1.0299999714,1.6699999571,13.8999996185,0.5,29.1000003815,5.3000001907,NA,5.6999998093,135,8.8999996185,96,0,0.0399999991,5.3000001907,31.7999992371,9,268,6.3699998856,18.8999996185,3.4400000572,0.5,2.1500000954,17.2999992371,10,90.0999984741,60.7000007629,31,32.2999992371,19.2000007629,19.8999996185,0.5,10.1999998093,8.720000267,1.2100000381,71,NA,NA,NA -"178","172",0,NA,NA,NA,NA,NA,NA,102,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1,0.8000000119 -"179","174",0,1,2.73,1.9,0.69,29.8,4.4,106,9.6,141,10.7,100,0,0.03,3.63,24.3,60,177,0.77,11.5,5.41,0.1,2.4,29.7,16.1,87.1,50.3,47.1,34.2,37.8,13.1,0.4,12.5,7.22,0.14,NA,NA,NA,0.9 -"180","175",1,1.23,0.96,0.9,0.71,31.5,4.2,105,7.2,138,NA,78,0,0.05,8.08,30.8,48,307,1.12,9.7,3.9,0.2,2.3,33.5,12.3,92.6,81.7,36.1,34.1,9.7,12.9,0.5,13.1,9.89,0.09,NA,NA,NA,0.8 -"181","176",0,0.8899999857,1.0199999809,1.8999999762,0.3899999857,30.8999996185,4.4000000954,NA,6,138,10.3999996185,100.0001983643,0,0.0500000007,4.8800001144,30.2000007629,60.0001983643,218,0.8000000119,15.8000001907,4.6599998474,0.5,2.4500000477,28.2999992371,14.3999996185,87.0999984741,75.5,40.5999984741,35.5,15.8000001907,13.3999996185,0.8000000119,12.6000003815,6.4600000381,0.1199999973,16,NA,NA,NA -"182","177",1,1.0700000525,1.8400000334,0.8000000119,0.9300000072,33.2999992371,4.9000000954,NA,10.6999998093,133,11.1000003815,89,0,0.0199999996,5.8499999046,33.9000015259,60.0001983643,305,0.9800000191,15.8000001907,3.8699998856,0.3000000119,2.2599999905,33.2999992371,12.8999996185,99.5,67.1999969482,38.5,33.5,21.1000003815,14.3000001907,0.200000003,13,8.7100000381,0.0700000003,42,NA,NA,NA -"183","178",0,NA,0.8999999762,1.7000000477,0.6700000167,26.8999996185,3.9000000954,107,11.1000003815,141,10.1999998093,NA,0,0.0099999998,4.3800001144,NA,NA,223,0.8100000024,NA,4.5399999619,0.200000003,2.5199999809,27.2999992371,12.1999998093,81.3000030518,72.0999984741,36.9000015259,33.0999984741,14.8999996185,14,0.200000003,11.6999998093,6.0599999428,0.1000000015,NA,NA,NA,NA -"184","178",8,1.0599999428,NA,NA,NA,NA,NA,NA,NA,NA,NA,92,NA,NA,NA,32.5,NA,NA,NA,16.1000003815,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"185","179",0,1.0299999714,0.9399999976,1.6000000238,0.6700000167,29.2999992371,4.8000001907,105,8.8000001907,143,9.6999998093,95,0,0.0199999996,5.8499999046,36.5,58,242,0.9399999976,15.8000001907,4.1999998093,0.3000000119,2.7999999523,23.2999992371,12.3000001907,90.1999969482,76.9000015259,37.9000015259,32.5,12.3999996185,13,0.3000000119,11.8000001907,7.5999999046,0.1199999973,29,NA,NA,NA -"186","180",3,0.8999999762,1.3700000048,0.6000000238,0.4900000095,28.2999992371,4.5999999046,99,4.6999998093,137,10.1999998093,100.0001983643,0,0.0199999996,8.3999996185,26,60.0001983643,326,0.9599999785,15.8999996185,4.5300002098,0.3000000119,2.5,26.6000003815,12.8000001907,85,81.3000030518,38.5,33.2000007629,13.1999998093,13.5,0.200000003,12,10.3400001526,0.0599999987,48,NA,NA,NA -"187","181",6,1.11,2.1,NA,NA,30.2,4,NA,NA,139,NA,79,NA,NA,6.26,32.9,NA,210,1.65,10.2,5.82,NA,2.3,NA,17.6,88.9,68.1,51.7,34,22.5,14.8,NA,NA,9.2,NA,NA,124,NA,NA -"188","182",1,1.0399999619,2.2699999809,3.2000000477,1.1000000238,29.5,4.5,96,11.3999996185,134,9.6000003815,93,0,0.0700000003,5.9000000954,30.2999992371,60.0001983643,420,1.1499999762,16.5,4.3699998856,0.200000003,2.7000000477,21.6000003815,12.8999996185,85.5999984741,61.2000007629,37.4000015259,34.5,23.5,13.5,0.6999999881,10.8000001907,9.6499996185,0.3100000024,42,NA,1.7999999523,0.8000000119 -"189","182",2,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,102,NA,NA -"190","183",1,1.0399999619,0.7699999809,1.7999999523,0.8299999833,32.7999992371,5.3000001907,93,8.3999996185,127,10.8000001907,89,0,0.0299999993,8.1000003815,34.9000015259,60.0001983643,180,0.9599999785,10,5.1199998856,0.3000000119,2.2999999523,32.5999984741,16.7999992371,92.8000030518,81.6999969482,47.5,35.4000015259,7.8000001907,15.3000001907,0.3000000119,13.8000001907,9.9099998474,0.1800000072,NA,NA,NA,0.8999999762 -"191","184",0,0.9900000095,1.7300000191,3.4000000954,0.4699999988,27.2999992371,4.1999998093,NA,7.9000000954,141,9.8999996185,100.0001983643,0,0.0399999991,3.5,29.2999992371,60.0001983643,256,0.5699999928,14.1000003815,4.8800001144,0.200000003,2.3099999428,24.2000007629,13.3000001907,82.4000015259,58.9000015259,40.2000007629,33.0999984741,29.1000003815,13.3000001907,0.6999999881,11.3000001907,5.9400000572,0.200000003,17,NA,NA,NA -"192","185",3,0.8799999952,1.8099999428,1.7000000477,0.5600000024,31.5,4.0999999046,NA,7.9000000954,144,11.5,100.0001983643,0,0.0099999998,4.5700001717,27.8999996185,NA,232,0.7099999785,15.8000001907,5.1100001335,0.1000000015,2.3499999046,37.5999984741,16.1000003815,89.8000030518,64.6999969482,45.9000015259,35.0999984741,25.6000003815,12.8999996185,0.1000000015,14.5,7.0700001717,0.1199999973,20,NA,NA,NA -"193","186",0,1.0199999809,2.2400000095,0.400000006,0.7099999785,33.5,4.4000000954,105,8.6000003815,140,10,96,0,0.0099999998,5.2399997711,28.6000003815,60.0001983643,190,0.6600000262,15.8999996185,3.4900000095,0.200000003,2.2300000191,25.2000007629,11.6999998093,99.0999984741,63.7000007629,34.5999984741,33.7999992371,27.2000007629,12.6999998093,0.1000000015,11.8000001907,8.2299995422,0.0299999993,NA,NA,56.2999992371,NA -"194","187",6,1,1.8200000525,0.6999999881,0.6899999976,30.5,4.1999998093,102,8.1000003815,135,10,100.0001983643,0,0.0199999996,5.8800001144,28.2999992371,35,329,1.4600000381,17.3999996185,4.0999999046,0.1000000015,2.4500000477,24.7000007629,12.5,86.8000030518,69.5,35.5999984741,35.0999984741,21.5,13.6000003815,0.200000003,11.1999998093,8.470000267,0.0599999987,NA,NA,NA,NA -"195","188",13,1.1599999666,1.2699999809,1.2000000477,0.5199999809,31.5,4.6999998093,99,6.5,135,10.6999998093,79,0,0.0299999993,6.1199998856,32.4000015259,60.0001983643,91,1.0399999619,18.1000003815,5.3000001907,0.6000000238,2.3499999046,30.7000007629,16.7000007629,92.5999984741,76.0999984741,49.0999984741,34,15.8000001907,14.3000001907,0.400000006,13.3999996185,8.0399999619,0.1000000015,NA,NA,NA,NA -"196","189",1,1.1200000048,1.1200000048,3.9000000954,0.6700000167,31.7000007629,4.3000001907,109,10.8999996185,139,10.1999998093,83,0,0.0199999996,4.1199998856,28,60.0001983643,179,0.9800000191,15.6000003815,4.1900000572,0.3000000119,2.3299999237,27.2000007629,13.3000001907,87.8000030518,66.6999969482,36.7999992371,36.0999984741,18.2000007629,12.8000001907,0.3000000119,12,6.1700000763,0.2399999946,39,NA,NA,NA -"197","190",0,1,2,1.6,0.91,31.7,4.7,111,10.9,142,11.4,100,0,0.04,5.3,28.7,47,242,1.49,9.8,4.1,0.4,2.6,36.4,13,92.4,63.1,37.9,34.3,23.9,13.5,0.5,13.9,8.38,0.13,51,90,NA,NA -"198","192",1,1.06,0.7,NA,NA,32.7,NA,NA,NA,NA,NA,83,NA,NA,5.4,36.7,NA,107,NA,NA,3.61,NA,NA,NA,11.8,96.1,78,34.7,34,10.1,12.8,NA,NA,6.9,NA,NA,NA,NA,NA -"199","192",6,NA,NA,NA,NA,NA,5,101,NA,135,NA,NA,NA,NA,NA,NA,60,NA,0.95,10.7,NA,NA,2.3,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,227,NA,NA -"200","194",3,NA,2.7000000477,0,1,30.6000003815,4.5,100,11.8000001907,134,9.3000001907,NA,0,0.0599999987,4.6799998283,NA,60.0001983643,462,0.5899999738,NA,3.9200000763,0.200000003,2.2999999523,18.2999992371,12,88.3000030518,55.5,34.5999984741,34.7000007629,32,16.1000003815,0.6999999881,10.1000003815,8.4399995804,0,NA,NA,NA,0.8999999762 -"201","195",5,0.9599999785,0.9200000167,0.6000000238,0.3000000119,30.3999996185,4.5999999046,NA,4.4000000954,140,10.3999996185,100.0001983643,0,0.0299999993,5.4699997902,30.5,60.0001983643,238,0.7900000215,15.1999998093,4.8400001526,0.400000006,2.4500000477,29.2999992371,14.6999998093,87.5999984741,81,42.4000015259,34.7000007629,13.6000003815,12.8000001907,0.400000006,12.8000001907,6.7600002289,0.0399999991,32,NA,NA,NA -"202","196",0,0.9599999785,2.7100000381,2.7999999523,0.8399999738,29.7999992371,5.3000001907,104,7,144,11.6000003815,100.0001983643,0,0.0500000007,8.0799999237,27.5,60.0001983643,335,0.8799999952,17.3999996185,5.5,0.1000000015,2.6099998951,37.9000015259,16.3999996185,88.9000015259,67.3000030518,48.9000015259,33.5,22.5,14.3999996185,0.400000006,14.5,12.0200004578,0.3400000036,22,NA,NA,NA -"203","197",13,1.02,1.93,2.2,0.72,30.4,4.7,103,10.1,142,NA,92,0,0.04,4.31,32.8,60,246,0.52,9.7,4.34,0.1,2.3,38.9,13.2,92.9,60.1,40.3,32.8,27,13,0.6,14.5,7.16,0.16,NA,NA,1.9,NA -"204","197",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.8 -"205","198",7,1.02,1.94,0.5,0.42,28.7,4.4,103,5.5,140,9.5,100,0,0.03,5.19,29.8,60,354,0.78,10.2,5.05,0.1,2.7,19.9,14.5,85,68.1,42.9,33.8,25.5,14.8,0.4,10.4,7.62,0.04,NA,NA,NA,NA -"206","199",3,0.9100000262,1.6200000048,0.400000006,0.7599999905,33.0999984741,4.9000000954,104,7.8000001907,139,11.3000001907,100.0001983643,0,0.0500000007,7.3000001907,30.7000007629,60.0001983643,194,0.5899999738,9.3999996185,4.8299999237,0.3000000119,2.2999999523,35.7999992371,16,94.1999969482,74.6999969482,45.5,35.2000007629,16.6000003815,14.3999996185,0.5,14.3000001907,9.7700004578,0.0399999991,9,128,NA,NA -"207","200",0,0.8600000143,1.1699999571,2,0.400000006,28.5,4.5999999046,103,5.8000001907,140,9,100.0001983643,0,0.0299999993,5.1999998093,26,60.0001983643,248,0.7099999785,15.8000001907,4.9800000191,0.3000000119,2.3900001049,17,14.1999998093,86.5,74.9000015259,43.0999984741,32.9000015259,16.8999996185,13.5,0.400000006,10,6.9400000572,0.1400000006,NA,NA,NA,NA -"208","201",0,1.0099999905,1.1799999475,2.2000000477,0.7699999809,31.3999996185,4.1999998093,106,9.1999998093,141,11.6000003815,98,0,0.0299999993,6.1799998283,32.5999984741,60.0001983643,298,1.0499999523,15.1000003815,4.5199999809,0.200000003,2.4200000763,37.7000007629,14.1999998093,94.1999969482,74.0999984741,42.5999984741,33.2999992371,14.1000003815,14.3999996185,0.400000006,14,8.3400001526,0.1800000072,NA,NA,NA,NA -"209","202",0,0.9399999976,2.0899999142,3.0999999046,0.4499999881,30.8999996185,4.3000001907,NA,6.9000000954,137,8.8000001907,100.0001983643,0,0.0500000007,3.6900000572,28.7000007629,60.0001983643,314,1,17,4.7899999619,0.3000000119,2.3299999237,14.8999996185,14.8000001907,87.5,56.9000015259,41.9000015259,35.2999992371,32.2999992371,12.5,0.8000000119,9.6000003815,6.4800000191,0.200000003,37,NA,NA,NA -"210","203",2,0.9399999976,2.1199998856,1.2999999523,0.3600000143,29.6000003815,4.5,NA,5.6999998093,143,9.5,100.0001983643,0,0.0199999996,3.7000000477,28.6000003815,NA,224,0.8199999928,14.8999996185,4.7600002289,0.200000003,2.5799999237,21.7999992371,14.1000003815,85.3000030518,58.9000015259,40.5999984741,34.7000007629,33.7999992371,12.8000001907,0.3000000119,11,6.2800002098,0.0799999982,23,NA,NA,NA -"211","204",12,1,0.75,0.1,0.49,31.3,4.2,104,5.4,139,10.5,100,0,0.01,7.75,33.5,60,183,0.82,9.1,3.83,0.1,2.2,28.6,12,93.2,86.1,35.7,33.6,8.3,13,0.1,11.7,9.01,0.01,NA,NA,90.2,NA -"212","205",0,0.9700000286,1.3099999428,0.5,0.5500000119,33.2999992371,5.0999999046,104,7.1999998093,138,10.8000001907,100.0001983643,0,0.0099999998,5.6799998283,31.2000007629,60.0001983643,248,0.8399999738,16.3999996185,5.0199999809,0.1000000015,2.5,32.4000015259,16.7000007629,94.5999984741,74.9000015259,47.5,35.2000007629,17.2999992371,13.1999998093,0.1000000015,13.3000001907,7.5900001526,0.0399999991,31,98,NA,NA -"213","206",1,1.0499999523,1.6399999857,1.2000000477,0.8899999857,31.2999992371,4.5999999046,101,8.5,138,12.1999998093,92,0,0.0199999996,7.7399997711,34.0999984741,60.0001983643,168,0.8399999738,15,4.8600001335,0.3000000119,2.4000000954,43.2999992371,15.1999998093,87.9000015259,74.3000030518,42.7000007629,35.5999984741,15.8000001907,12.3000001907,0.200000003,16,10.4099998474,0.1199999973,22,NA,NA,NA -"214","208",14,1.0499999523,2.4300000668,1.5,0.5600000024,33.2999992371,4.0999999046,NA,7.8000001907,138,11.1999998093,92,0,0.0399999991,4.0799999237,31.2999992371,58,124,1.2200000286,17.1000003815,4.4099998474,0.3000000119,2.3399999142,33.0999984741,14.6999998093,98.9000015259,56.4000015259,43.5999984741,33.7000007629,33.7000007629,14.3999996185,0.6000000238,13,7.2199997902,0.1099999994,NA,NA,6.4000000954,NA -"215","208",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,51,NA,NA,NA -"216","210",0,0.9200000167,1.5399999619,3.2000000477,0.7200000286,32.5999984741,4,90,9.6999998093,130,10.6000003815,100.0001983643,0,0.0299999993,4.8600001335,28.7000007629,55,235,1.2799999714,9.8000001907,4.9099998474,0.6999999881,2.4000000954,30.1000003815,16,93.5,65.9000015259,45.9000015259,34.9000015259,20.7999992371,13.8000001907,0.400000006,12.8000001907,7.3899998665,0.2399999946,37,125,5,NA -"217","211",4,1.0700000525,1.0499999523,0.6000000238,0.5600000024,32.2000007629,5.0999999046,97,8.5,131,9.6000003815,89,0,0.0199999996,4.9200000763,29.5,NA,115,NA,15.5,4.5300002098,0.200000003,2.4200000763,22.2999992371,14.6000003815,90.0999984741,74.6999969482,40.7999992371,35.7999992371,15.8999996185,11.6999998093,0.3000000119,11.3999996185,6.5900001526,0.0399999991,NA,NA,22.8999996185,NA -"218","211",13,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,60.0001983643,NA,0.75,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,11,NA,NA,NA -"219","212",1,1.0099999905,1.1699999571,0.1000000015,0.6200000048,32,3.7999999523,97,6.1999998093,138,11.6999998093,98,0,0.0199999996,8.1899995804,30.2999992371,60.0001983643,204,0.6299999952,16.7000007629,4.4000000954,0.400000006,2.3900001049,40.0999984741,14.1000003815,93,81.8000030518,40.9000015259,34.5,11.6999998093,13.3000001907,0.200000003,16,10.0100002289,0.0099999998,NA,NA,19.7999992371,0.6000000238 -"220","213",1,1.3600000143,2.5499999523,3.9000000954,0.5199999809,31,4.1999998093,NA,7.9000000954,138,9.8999996185,67,0,0.0199999996,3.25,74.9000015259,60.0001983643,202,0.8000000119,26.3999996185,5.1300001144,0.3000000119,2.2999999523,24.2999992371,15.8999996185,89.3000030518,49.2999992371,45.7999992371,34.7000007629,38.5999984741,14.5,0.3000000119,11.1999998093,6.5999999046,0.2599999905,NA,NA,NA,NA -"221","213",3,NA,NA,NA,NA,NA,NA,102,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,22,67,NA,NA -"222","214",13,0.9300000072,2.4900000095,1.2000000477,0.5600000024,28.7999992371,4.4000000954,105,5.6999998093,141,10.5,100.0001983643,0,0.0299999993,6.5500001907,25.6000003815,60.0001983643,315,0.8399999738,15.5,4.8600001335,0.200000003,2.4300000668,29.6000003815,14,87.4000015259,67.3000030518,42.5,32.9000015259,25.5,14.6000003815,0.3000000119,12.8999996185,9.75,0.1199999973,NA,NA,NA,NA -"223","215",0,1.15,0.58,0.1,1.03,30.5,NA,NA,8.7,NA,10.4,79,0,0.01,10.24,32.1,NA,177,NA,11.8,3.15,0.3,NA,26.4,9.6,90.8,86.2,28.6,33.6,4.9,13,0.1,11.2,11.87,0.01,NA,NA,NA,NA -"224","216",2,1.0099999905,0.9399999976,3.5,0.6100000143,35.0999984741,4.3000001907,NA,8.8999996185,140,11.3000001907,98,0,0.0299999993,5,32.5999984741,44,217,1.5700000525,15.3000001907,4.3000001907,0.3000000119,2.3199999332,35.2999992371,15.1000003815,102.3000030518,73.4000015259,44,34.2999992371,13.8000001907,15,0.400000006,13.8000001907,6.8200001717,0.2399999946,39,NA,NA,NA -"225","217",0,0.9800000191,1.3700000048,0.8000000119,0.6000000238,32.4000015259,3.7000000477,103,7.6999998093,139,9.5,100.0001983643,0,0.0099999998,5.7300000191,29.2000007629,60.0001983643,271,1.0299999714,18,4.5999999046,0.3000000119,2.4800000191,20.3999996185,14.8999996185,92.5999984741,73.8000030518,42.5999984741,35,17.6000003815,13.6999998093,0.1000000015,10.5,7.7699999809,0.0599999987,NA,NA,NA,NA -"226","218",4,1.09,1.91,1,1.13,30.1,4.6,93,12.6,128,10.7,80,0,0.02,5.81,34.3,60,214,0.45,9.5,3.12,0.3,2.5,29.5,9.4,91.7,64.9,28.6,32.9,21.3,16.1,0.2,12.5,8.96,0.09,NA,NA,86.3,0.7 -"227","219",3,0.9399999976,2.2200000286,4.3000001907,0.6800000072,30.8999996185,4.4000000954,NA,9.1000003815,143,9.1000003815,100.0001983643,0,0.0399999991,4.25,28.6000003815,60.0001983643,241,0.9200000167,15.8000001907,4.5599999428,0.5,2.5299999714,16.8999996185,14.1000003815,91,56.5,41.5,34,29.6000003815,13.8000001907,0.5,9.6999998093,7.5100002289,0.3199999928,19,NA,NA,NA -"228","220",2,1.1299999952,NA,NA,NA,NA,NA,NA,NA,NA,NA,82,NA,NA,NA,98.6999969482,NA,NA,NA,200.0001983643,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"229","220",1,NA,1.6000000238,4,0.5199999809,32.2000007629,NA,NA,7.5,NA,12.3000001907,NA,0,0.0500000007,4.5199999809,NA,NA,150,NA,NA,2.9500000477,0.1000000015,NA,42.7000007629,9.5,95.5999984741,64.8000030518,28.2000007629,33.7000007629,23,15.3999996185,0.6999999881,16.7000007629,6.9699997902,0.2800000012,NA,NA,NA,NA -"230","220",9,NA,NA,NA,NA,NA,6,98,NA,137,NA,NA,NA,NA,NA,NA,10,NA,5.6700000763,NA,NA,NA,2.6300001144,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,115,NA,NA,NA -"231","221",0,0.8999999762,2.25,1.2999999523,0.7900000215,30.7000007629,4.5,104,6.5999999046,140,10.1999998093,100.0001983643,0,0.0500000007,8.8100004196,39.2999992371,60.0001983643,314,0.7900000215,9.6999998093,4.7600002289,0.200000003,2.4000000954,25.7000007629,14.6000003815,89.9000015259,73,42.7999992371,34.0999984741,18.7000007629,13.6000003815,0.400000006,11.6000003815,12.0600004196,0.1599999964,27,106,NA,NA -"232","223",0,0.9900000095,1.6499999762,0.6000000238,0.3600000143,30.2999992371,4.1999998093,NA,5.0999999046,137,11.1000003815,100.0001983643,0,0.0099999998,4.9800000191,31.6000003815,60.0001983643,194,1.0099999905,16.2999992371,4.9899997711,0.1000000015,2.3399999142,34,15.1000003815,88.4000015259,70.8000030518,44.0999984741,34.2000007629,23.3999996185,12.8000001907,0.1000000015,13.3999996185,7.0399999619,0.0399999991,39,NA,NA,NA -"233","224",0,0.91,1.57,1.2,0.41,31.7,5.3,106,8.4,142,10.4,100,0,0.01,2.81,24.3,60,193,1.19,10.3,4.19,0.4,2.4,28.4,13.3,95.5,57.9,40,33.3,32.3,13.4,0.2,11.9,4.86,0.06,47,93,NA,NA -"234","225",0,NA,1.8700000048,2.4000000954,0.5899999738,31.6000003815,4.1999998093,101,6.1999998093,140,11.3999996185,NA,0,0.0299999993,6.8000001907,NA,60.0001983643,198,1.1000000238,NA,4.1500000954,0.3000000119,2.2899999619,36.2000007629,13.1000003815,91.0999984741,71.5,37.7999992371,34.7000007629,19.6000003815,13.5,0.3000000119,14.6000003815,9.5200004578,0.2300000042,36,NA,NA,NA -"235","225",13,1.0499999523,NA,NA,NA,NA,NA,NA,NA,NA,NA,92,NA,NA,NA,31.2000007629,NA,NA,NA,16.8999996185,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"236","226",1,1.0199999809,2.2599999905,4.4000000954,0.4699999988,29.3999996185,4.8000001907,103,5.9000000954,141,11.5,96,0,0.0399999991,4.7899999619,30,60.0001983643,299,1,16.2000007629,4.7699999809,0.1000000015,2.4200000763,37.7000007629,14,90.5999984741,60.5999984741,43.2000007629,32.4000015259,28.6000003815,14,0.5,13.6999998093,7.9099998474,0.349999994,NA,NA,NA,NA -"237","227",0,0.88,1.9,NA,NA,33.5,5.5,NA,NA,134,NA,100,NA,NA,5.13,29.4,NA,317,0.7,9.7,5.1,NA,2.4,NA,17.1,96.1,67.9,49,34.9,24.8,14.6,NA,NA,7.55,NA,NA,184,NA,NA -"238","229",0,0.9,1.67,0.9,0.68,35.2,4.5,102,8.8,141,NA,100,NA,0.09,5.22,31.2,60,252,0.44,10.1,4.38,NA,2.3,NA,15.4,105.8,67.5,46.3,33.2,20.1,13.6,1.2,NA,7.74,0.07,NA,NA,NA,NA -"239","230",0,1.0900000334,0.8899999857,6.9000000954,0.8100000024,29.6000003815,NA,87,12.6000003815,NA,11.8000001907,86,0,0.0799999982,4.1999998093,31.7000007629,NA,257,NA,17,4.6999998093,0.200000003,2.4800000191,39.7000007629,13.8999996185,89.5999984741,65.4000015259,42.0999984741,33,13.8999996185,14.8000001907,1.2000000477,15.5,6.4200000763,0.4399999976,NA,NA,NA,NA -"240","230",14,NA,NA,NA,NA,NA,3.2999999523,NA,NA,137,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"241","230",8,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,37,NA,1.8300000429,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"242","232",4,0.8999999762,1.0299999714,0.400000006,1.0800000429,33.5,3.9000000954,89,11.6000003815,126,8.3000001907,100.0001983643,0,0.0299999993,7.1500000954,30.5,60.0001983643,297,0.6499999762,10.1000003815,4.8400001526,0.200000003,2.5,11.1000003815,16.2000007629,88.1999969482,76.6999969482,42.7000007629,37.9000015259,11,12.5,0.3000000119,8.1999998093,9.3299999237,0.0399999991,12,127,NA,NA -"243","233",0,1.0199999809,1.75,1.5,0.5600000024,31,4.6999998093,100,7.6999998093,138,10.1000003815,96,0,0.0399999991,4.8099999428,29.2999992371,60.0001983643,206,1.0099999905,16.7000007629,4.9000000954,0.1000000015,2.5099999905,24,15.1999998093,90.4000015259,66.0999984741,44.2999992371,34.2999992371,24.1000003815,13.5,0.6000000238,11,7.2699999809,0.1099999994,NA,NA,NA,NA -"244","234",12,1.1200000048,1.5,0,1.4199999571,27.2999992371,NA,NA,7.1999998093,NA,8.8000001907,83,0,0.0599999987,16.6700000763,28.3999996185,NA,558,NA,17.1000003815,4.3600001335,0.3000000119,NA,14.3000001907,11.8999996185,83,84.9000015259,36.2000007629,32.9000015259,7.5999999046,14.8000001907,0.3000000119,9.1000003815,19.6499996185,0,25,NA,NA,NA -"245","234",6,NA,NA,NA,NA,NA,3.9000000954,102,NA,138,NA,NA,NA,NA,NA,NA,60.0001983643,NA,0.5099999905,NA,NA,NA,2.1700000763,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,40.2999992371,0.8000000119 -"246","235",2,0.9800000191,1.75,1.5,0.5799999833,29.3999996185,4.9000000954,NA,7.5,141,9.3000001907,100.0001983643,0,0.0199999996,5.3000001907,27.1000003815,60.0001983643,251,0.6499999762,16.6000003815,4.9000000954,0.1000000015,2.3900001049,18.7000007629,14.3999996185,85.3000030518,68.1999969482,41.7999992371,34.4000015259,22.5,12.6999998093,0.3000000119,10.1000003815,7.7699999809,0.1199999973,16,NA,NA,NA -"247","236",3,0.9599999785,1.8600000143,3.2999999523,0.5400000215,31.5,4.5,NA,8.3999996185,137,11.8000001907,100.0001983643,0,0.0700000003,3.75,26,60.0001983643,199,0.9100000262,16.6000003815,5.3099999428,0.200000003,2.4900000095,39.7999992371,16.7000007629,89.0999984741,58.2999992371,47.2999992371,35.2999992371,28.8999996185,12.5,1.1000000238,16.1000003815,6.4299998283,0.2099999934,36,NA,NA,NA -"248","238",1,0.9200000167,1.5800000429,0.400000006,0.8500000238,29.2999992371,4.9000000954,103,7.8000001907,139,11.8999996185,100.0001983643,0,0.0199999996,8.3500003815,26.6000003815,37,201,1.8099999428,10.3999996185,4.9200000763,1.2999999523,2.5999999046,40.4000015259,14.3999996185,90,77,44.2999992371,32.5,14.6000003815,14.8000001907,0.200000003,14.8999996185,10.8400001526,0.0399999991,NA,NA,NA,NA -"249","239",2,0.9200000167,141.5099945068,0.1000000015,1.7300000191,30,4.9,103,1.2000000477,138,9.1999998093,100.0001983643,0,0.7099999785,2.9700000286,28.8999996185,59,202,1.24,9.8999996185,3.2999999523,0.1000000015,2.3,19,9.8999996185,94.5,1.8999999762,31.2000007629,31.7000007629,96.3000030518,17.8999996185,0.5,10.3999996185,147,0.0799999982,34,200,NA,NA -"250","239",13,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.8000000119 -"251","240",0,1.0099999905,1.1000000238,2.2000000477,0.8500000238,30.7999992371,4.8000001907,NA,8.6000003815,137,9.6999998093,98,0,0.0299999993,7.6799998283,37,60.0001983643,262,1.1000000238,16.3999996185,4.1500000954,0.200000003,2.3900001049,22.8999996185,12.8000001907,90.0999984741,77.8000030518,37.4000015259,34.2000007629,11.1000003815,11.6999998093,0.3000000119,11.3999996185,9.8800001144,0.2199999988,46,NA,45.5,NA -"252","241",2,1.0199999809,4,1.8999999762,0.6000000238,31.7999992371,4.5,105,5.6999998093,NA,9.8000001907,96,0,0.0500000007,5.7300000191,29.7999992371,60.0001983643,330,NA,16.1000003815,5.0599999428,0.3000000119,2.5,23.3999996185,16.1000003815,93.0999984741,54.0999984741,47.0999984741,34.2000007629,37.7999992371,14.6000003815,0.5,11.6000003815,10.5799999237,0.200000003,NA,NA,NA,0.8999999762 -"253","242",0,0.9399999976,1.9199999571,3.9000000954,0.5099999905,33.7999992371,5,NA,9.5,137,9.6000003815,100.0001983643,0,0.0299999993,2.7200000286,28.2999992371,60.0001983643,213,0.8199999928,17.5,4.5599999428,0.6999999881,2.4400000572,21,15.3999996185,97.4000015259,50.4000015259,44.4000015259,34.7000007629,35.5999984741,12.8000001907,0.6000000238,10.1999998093,5.3899998665,0.2099999934,25,NA,NA,NA -"254","243",4,0.9499999881,1.4800000191,0.6000000238,0.3600000143,29.7999992371,4.6999998093,NA,5.5,141,10.1999998093,100.0001983643,0,0.0199999996,4.6500000954,24.5,60.0001983643,277,0.8399999738,15.8000001907,4.1300001144,0.200000003,2.4800000191,27.2000007629,12.3000001907,91.8000030518,71,37.9000015259,32.5,22.6000003815,13,0.3000000119,12.1999998093,6.5500001907,0.0399999991,46,NA,NA,NA -"255","244",1,0.97,2.7,NA,NA,33.1,4,NA,NA,142,NA,100,NA,NA,7.47,29.8,NA,304,0.91,10.8,4.93,NA,2.5,NA,16.3,95.3,66.5,47,34.7,24.2,13,NA,NA,11.24,NA,NA,104,NA,NA -"256","245",3,1.0499999523,2.0399999619,0.3000000119,0.4099999964,28.7999992371,4.5999999046,NA,4.3000001907,132,10.8999996185,92,0,0.0299999993,7.0599999428,26.7000007629,60.0001983643,330,0.6899999976,17,4.9299998283,0.200000003,2.3199999332,33.7000007629,14.1999998093,83.5999984741,73.8000030518,41.2000007629,34.5,21.2999992371,13.3999996185,0.3000000119,13.8999996185,9.5699996948,0.0299999993,22,NA,NA,NA -"257","246",0,1.04,1.96,1.8,0.45,21.4,4.9,108,6.4,137,NA,91,0,0.08,4.46,31.7,60,169,0.88,10.9,4.58,0.4,2.3,NA,9.8,70.1,63,32.1,30.5,27.7,18.2,1.1,NA,7.08,0.13,NA,NA,NA,0.7 -"258","247",0,1.0199999809,1.9299999475,2.0999999046,0.7699999809,31.7999992371,4.4000000954,108,11.5,141,10.1999998093,97,0,0.0199999996,3.8499999046,28.1000003815,60.0001983643,178,0.8500000238,17.7999992371,5.2199997902,0.400000006,2.2899999619,25.7999992371,16.6000003815,91,57.2999992371,47.5,34.9000015259,28.7999992371,13.6000003815,0.3000000119,12,6.7100000381,0.1400000006,NA,NA,NA,NA -"259","248",0,0.9700000286,2.7300000191,0.6000000238,0.75,33.5,4.3000001907,97,7.5,136,10.8000001907,100.0001983643,0,0.0399999991,6.4200000763,24.7999992371,60.0001983643,200,0.9200000167,15.6000003815,4.2100000381,0.200000003,2.3499999046,31.2000007629,14.1000003815,95,64.1999969482,40,35.2999992371,27.2999992371,12.1999998093,0.400000006,11.8000001907,10,0.0599999987,26,NA,NA,NA -"260","249",0,1.1,1.6,NA,NA,34.2,5.8,NA,NA,136,NA,83,NA,NA,5.84,30.6,NA,250,0.87,10.2,4.15,NA,2.5,NA,14.2,100.9,70.2,41.9,33.9,19.3,15.4,NA,NA,8.32,NA,NA,109,NA,NA -"261","250",1,0.98,1.26,2.7,0.7,32.8,4.9,100,10.6,136,NA,100,NA,0.06,4.38,33.9,60,236,0.77,9.9,4.48,NA,2.4,22.1,14.7,96.9,66.7,43.4,33.9,19.1,13.1,0.9,10.8,6.58,0.18,NA,NA,NA,0.8 -"262","252",12,0.9300000072,1.75,1.2999999523,0.5199999809,31.3999996185,4.5,103,8.5,139,9.5,100.0001983643,0,0.0299999993,3.7699999809,29.5,60.0001983643,296,1.0299999714,16.6000003815,4.6799998283,0.5,2.3199999332,19.8999996185,14.6999998093,92.0999984741,61.2000007629,43.0999984741,34.0999984741,28.5,13.1999998093,0.5,10.6000003815,6.1500000954,0.0799999982,NA,NA,NA,NA -"263","253",6,0.9300000072,0.5099999905,2.2000000477,0.4499999881,30.2000007629,5.3000001907,95,7,134,9.1999998093,100.0001983643,0,0.0199999996,5.3299999237,31.7999992371,36,454,1.4500000477,17.8999996185,3.1800000668,0.200000003,2.2400000095,18.2000007629,9.6000003815,94,82.5999984741,29.8999996185,32.0999984741,7.9000000954,15.5,0.3000000119,9.6000003815,6.4499998093,0.1400000006,39,NA,13,1 -"264","254",4,0.89,1.84,0.9,0.83,34.1,5.6,99,7.8,133,9.4,100,0,0.04,7.78,30.1,60,382,0.78,9.6,3.87,0.7,2.6,20.1,13.2,103.1,73.5,39.9,33.1,17.4,14.9,0.4,10.7,10.58,0.09,NA,NA,NA,0.7 -"265","255",6,0.9499999881,1.6599999666,0.1000000015,0.7400000095,30.5,4.9000000954,NA,6.9000000954,136,10,100.0001983643,0,0.0199999996,8.220000267,31.2000007629,60.0001983643,434,0.6200000048,15.5,4.6599998474,0.3000000119,2.5699999332,24.5,14.1999998093,90.3000030518,77.1999969482,42.0999984741,33.7000007629,15.6000003815,12.6999998093,0.200000003,11.3000001907,10.6499996185,0.0099999998,27,NA,NA,NA -"266","256",8,0.8999999762,1.6799999475,3.2999999523,0.9499999881,30.8999996185,5.0999999046,NA,13.1999998093,138,10.6999998093,100.0001983643,0,0.0299999993,4.3200001717,29.1000003815,60.0001983643,202,0.8999999762,16.6000003815,5.25,0.1000000015,2.5499999523,29.2999992371,16.2000007629,86.9000015259,59.7999992371,45.5999984741,35.5,23.2999992371,13.3999996185,0.400000006,12.1000003815,7.2199997902,0.2399999946,38,NA,NA,NA -"267","257",3,0.9700000286,2.1500000954,2.9000000954,0.4699999988,33.5,3.9000000954,108,5.8000001907,141,10.6000003815,100.0001983643,NA,0.0199999996,5.1700000763,29.8999996185,60.0001983643,163,1.0499999523,16.1000003815,3.9100000858,0.400000006,2.2999999523,29.2999992371,13.1000003815,97.1999969482,64.4000015259,38,34.5,26.7000007629,13,0.200000003,13.3000001907,8.0399999619,0.2300000042,27,NA,NA,NA -"268","258",6,1.01,1.98,0.9,1.05,30.6,NA,NA,9.1,NA,9.8,98,0,0.03,8.44,30.2,NA,275,NA,10.6,5.27,0.3,NA,23.9,16.1,84.6,72.6,44.6,36.1,17.1,12.3,0.3,11.9,11.6,0.1,NA,NA,NA,NA -"269","258",10,NA,NA,NA,NA,NA,4.8,106,NA,140,NA,NA,NA,NA,NA,NA,60,NA,0.75,NA,NA,NA,2.6,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"270","259",13,0.9900000095,1.6599999666,2.5,0.3899999857,29.7000007629,4.3000001907,NA,8.1999998093,143,9.1000003815,100.0001983643,0,0.0099999998,2.5999999046,28.8999996185,NA,224,NA,16.3999996185,4.6500000954,0.200000003,2.4000000954,17.5,13.8000001907,85.5999984741,54.4000015259,39.7999992371,34.7000007629,34.7000007629,13.3999996185,0.200000003,10.6000003815,4.7800002098,0.1199999973,34,NA,NA,NA -"271","259",9,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,60.0001983643,NA,0.8899999857,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"272","260",0,1.0399999619,3.0999999046,2.0999999046,1.3600000143,30.2999992371,6,NA,9.3999996185,137,9.8000001907,94,0,0.1000000015,9.6099996567,33.2999992371,36,767,1.9400000572,17.5,3.9300000668,0.5,2.3900001049,22.3999996185,11.8999996185,91.0999984741,66.4000015259,35.7999992371,33.2000007629,21.3999996185,14.1999998093,0.6999999881,10.6999998093,14.470000267,0.3000000119,39,NA,NA,NA -"273","261",2,0.98,3.47,0.9,0.88,28.9,5.2,106,7.9,140,10.3,100,0,0.07,6.61,28.7,60,244,0.79,10.3,5.22,0.2,2.3,27.5,15.1,86.4,59.4,45.1,33.5,31.2,14.1,0.6,11.9,11.13,0.1,NA,NA,NA,0.9 -"274","262",1,1.04,1.83,1.5,0.67,32,4.4,101,6.8,136,10.6,100,0,0.03,7.14,26.3,60,244,0.63,10.5,4.62,0.3,2.6,30.8,14.8,91.6,72.8,42.3,35,18.6,13.3,0.3,12.9,9.82,0.15,NA,NA,NA,0.9 -"275","263",1,0.9599999785,3.2899999619,0.400000006,0.7400000095,32.2999992371,5.0999999046,104,6.5,143,12.3000001907,100.0001983643,0,0.0399999991,7.2600002289,25.7000007629,60.0001983643,238,0.8399999738,16.6000003815,5.6399998665,0.3000000119,2.5599999428,43.7000007629,18.2000007629,93.3000030518,63.7999992371,52.5999984741,34.5999984741,28.8999996185,13.3999996185,0.400000006,16.3999996185,11.3699998856,0.0399999991,NA,NA,NA,0.8999999762 -"276","264",2,NA,2.24,1.5,0.86,29.9,NA,NA,7.3,NA,11,NA,0,0.05,8.47,NA,NA,342,NA,NA,3.88,0.6,NA,33.8,11.6,95.1,71.8,36.9,31.4,19,14.2,0.4,14.2,11.8,0.18,92,NA,NA,NA -"277","264",1,NA,NA,NA,NA,NA,5.2,101,NA,136,NA,NA,NA,NA,NA,NA,39,NA,1.72,NA,NA,NA,2.3,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,86.2,0.9 -"278","264",4,1.08,NA,NA,NA,NA,NA,NA,NA,NA,NA,91,NA,NA,NA,39.8,NA,NA,NA,11.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"279","265",1,1.0399999619,2.3599998951,1,1.0800000429,30.8999996185,4.0999999046,NA,11.1999998093,139,9.8000001907,93,0,0.0799999982,6.0399999619,32.7999992371,60.0001983643,300,0.7400000095,11.3000001907,5.0500001907,0.3000000119,2.4000000954,22.5,15.6000003815,87.0999984741,62.5999984741,44,35.5,24.3999996185,12.8000001907,0.8000000119,11.3999996185,9.6599998474,0.1000000015,10,115,0.6000000238,NA -"280","267",3,1.0299999714,1.2899999619,0.6000000238,0.6899999976,29.6000003815,4.3000001907,100,8.3000001907,139,9.3000001907,95,0,0.0399999991,6.2699999809,30.8999996185,60.0001983643,164,0.8000000119,10.1000003815,5.2699999809,0.400000006,2.5,19.6000003815,15.6000003815,83.6999969482,75.0999984741,44.0999984741,35.4000015259,15.5,13.3000001907,0.5,10.8999996185,8.3400001526,0.0500000007,38,114,NA,NA -"281","268",0,0.9700000286,1.1200000048,0.3000000119,0.6200000048,35.2000007629,5,NA,8.8000001907,128,9.8999996185,100.0001983643,0,0.0099999998,5.3099999428,28.1000003815,60.0001983643,334,0.6499999762,10.8999996185,4.0100002289,0.1000000015,2.2999999523,23.2000007629,14.1000003815,100.5,75,40.2999992371,35,15.8000001907,11.6999998093,0.1000000015,10.8000001907,7.0799999237,0.0199999996,NA,NA,NA,NA -"282","270",3,0.8799999952,0.9499999881,2.2999999523,0.2899999917,31.3999996185,4.3000001907,NA,13.1000003815,137,9.8000001907,100.0001983643,0,0.0099999998,0.9100000262,29.7999992371,60.0001983643,212,0.5699999928,15.1999998093,3.6600000858,0,2.1900000572,22.8999996185,11.5,91.3000030518,41.0999984741,33.4000015259,34.4000015259,43,16.8999996185,0.5,10.8000001907,2.2100000381,0.0500000007,20,NA,NA,NA -"283","271",1,1.0199999809,1.5599999428,2.0999999046,0.2800000012,30.1000003815,4.1999998093,NA,4.5999999046,140,10.3000001907,97,0,0.0199999996,4.1100001335,29.7000007629,60.0001983643,124,1.1200000048,15.5,4.8200001717,0.3000000119,2.3099999428,28.2999992371,14.5,89.1999969482,67.4000015259,43,33.7000007629,25.6000003815,14.6999998093,0.3000000119,12.5,6.0999999046,0.1299999952,28,NA,NA,NA -"284","272",5,1,1.1900000572,0.8999999762,0.5500000119,29.2000007629,5.0999999046,95,8.6000003815,132,9.6999998093,100,0,0.0199999996,4.6100001335,39.2000007629,60.0001983643,290,0.5500000119,9.3000001907,4.9299998283,0.200000003,2.4000000954,21.6000003815,14.3999996185,85.5999984741,71.6999969482,42.2000007629,34.0999984741,18.5,12.6999998093,0.3000000119,10.6999998093,6.4299998283,0.0599999987,12,NA,NA,NA -"285","273",3,0.9300000072,1.5700000525,0.3000000119,0.5899999738,28.5,4.5,NA,9.1999998093,137,9.8999996185,100.0001983643,0,0.0299999993,4.2100000381,33.4000015259,NA,300,0.8999999762,16.8999996185,5.3400001526,0.200000003,2.2999999523,24.6000003815,15.1999998093,86.9000015259,65.5,46.4000015259,32.7999992371,24.5,14.1000003815,0.5,11.6999998093,6.4200000763,0.0199999996,21,NA,NA,NA -"286","274",0,1.0199999809,1.5700000525,0.5,0.5400000215,30.2000007629,4.9000000954,NA,6.8000001907,138,12.3000001907,97,0,0.0099999998,5.8200001717,31,60.0001983643,166,0.75,15.3999996185,5.1300001144,0.1000000015,2.3199999332,41.4000015259,15.5,86.9000015259,72.9000015259,44.5999984741,34.7999992371,19.7000007629,14.5,0.1000000015,15.8000001907,7.9800000191,0.0399999991,30,NA,NA,NA -"287","275",0,1.1399999857,2,1.7000000477,0.75,33.5999984741,4.3000001907,104,7.8000001907,138,11.1999998093,81,0,0.0199999996,6.7100000381,30.2000007629,60.0001983643,171,0.6200000048,16.2999992371,4.5599999428,0.3000000119,2.2999999523,35.7000007629,15.3000001907,95.8000030518,69.5999984741,43.7000007629,35,20.7000007629,12.1999998093,0.200000003,13.8999996185,9.6400003433,0.1599999964,9,NA,NA,NA -"288","276",2,NA,1.4800000191,1.7000000477,0.6700000167,26.6000003815,4.3000001907,108,6.1999998093,141,9,NA,0,0.0299999993,8.4899997711,NA,60.0001983643,256,0.8600000143,NA,4.1300001144,0.8999999762,2.1700000763,17,11,82.3000030518,78.1999969482,34,32.4000015259,13.6000003815,15.3999996185,0.3000000119,10,10.8500003815,0.1800000072,NA,NA,60.7999992371,0.6999999881 -"289","276",1,1.4800000191,NA,NA,NA,NA,NA,NA,NA,NA,NA,56,NA,NA,NA,56.9000015259,NA,NA,NA,34.9000015259,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"290","276",12,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,109,NA,NA -"291","277",1,0.9900000095,2.4900000095,2.2000000477,1.0599999428,31.3999996185,4.5,NA,8.8999996185,134,9.8000001907,100.0001983643,0,0.0700000003,7.9899997711,34.0999984741,60.0001983643,459,0.9300000072,16.7999992371,4.1100001335,0.5,2.4100000858,23.5,12.8999996185,91.6999969482,67.3000030518,37.7000007629,34.2000007629,21,13.8000001907,0.6000000238,11.3000001907,11.8699998856,0.2599999905,30,NA,NA,NA -"292","278",13,NA,1.57,4.7,0.98,32.2,3.8,103,14.5,142,8.4,NA,0,0.03,3.88,NA,60,325,0.49,NA,3.63,0.1,2.3,10.8,11.7,92.3,57.2,33.5,34.9,23.2,12.2,0.4,8.1,6.78,0.32,NA,NA,56.5,NA -"293","278",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,43,116,NA,NA -"294","278",14,1.06,NA,NA,NA,NA,NA,NA,NA,NA,NA,87,NA,NA,NA,33,NA,NA,NA,8.8,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"295","279",0,0.9900000095,2.8499999046,1.3999999762,0.8100000024,33.7999992371,3.9000000954,99,8.3999996185,136,11.1999998093,100.0001983643,0,0.0299999993,5.8600001335,27.7000007629,60.0001983643,287,0.7799999714,16.7000007629,4.3800001144,0.3000000119,2.5,34,14.8000001907,95.4000015259,60.5,41.7999992371,35.4000015259,29.3999996185,13.1000003815,0.3000000119,13.6999998093,9.6899995804,0.1400000006,NA,NA,NA,0.8000000119 -"296","280",0,0.9599999785,1.7400000095,7.0999999046,0.5299999714,31.8999996185,4.9000000954,NA,8.8999996185,142,10.6000003815,100.0001983643,0,0.0399999991,3.2000000477,26,60.0001983643,172,1.0099999905,15.8000001907,4.4800000191,0.6999999881,2.5299999714,29.7000007629,14.3000001907,90,54,40.2999992371,35.5,29.2999992371,13,0.6999999881,13.1000003815,5.9299998283,0.4199999869,25,NA,NA,NA -"297","281",0,0.9200000167,1.7599999905,5.4000000954,0.6700000167,31.6000003815,4.6999998093,101,9.3999996185,136,12.3999996185,100.0001983643,0,0.0299999993,4.25,26.3999996185,60.0001983643,142,0.8600000143,16.7000007629,5.1300001144,0.6000000238,2.3099999428,44.0999984741,16.2000007629,88.5,60,45.4000015259,35.7000007629,24.7999992371,12.8999996185,0.400000006,17.7000007629,7.0900001526,0.3799999952,31,NA,NA,NA -"298","282",0,1,1.4199999571,3.0999999046,0.4199999869,29.3999996185,5,103,8,138,9.3999996185,100,0,0.0399999991,3.1900000572,28.2999992371,60.0001983643,497,0.8100000024,16.7000007629,4.7699999809,0.400000006,2.2999999523,19.7000007629,14,84.9000015259,60.9000015259,40.5,34.5999984741,27.2000007629,12.6000003815,0.8000000119,10.5,5.2300000191,0.1599999964,23,91,14.8999996185,NA -"299","283",2,1.05,2.3,NA,NA,31,4.6,102,NA,139,NA,100,NA,NA,6.85,34.1,60,276,0.92,11.2,4.68,NA,2.5,NA,14.5,91.3,70.6,42.7,33.9,23.9,14.3,NA,NA,9.7,NA,NA,130,NA,NA -"300","283",5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,6.6,NA -"301","284",4,1.04,1.33,0.9,0.74,30.8,4.8,99,7.9,140,NA,93,NA,0.03,7.2,27.7,60,374,0.78,10,4.15,NA,2.5,NA,12.8,91.3,76.7,37.9,33.8,12.6,12.7,0.3,NA,9.39,0.09,NA,NA,NA,0.9 -"302","285",7,0.8999999762,3.5699999332,2.2999999523,0.8700000048,32,3.7999999523,96,8.1999998093,141,13,100.0001983643,NA,0.0599999987,5.9099998474,25.2000007629,60.0001983643,183,1.1399999857,15.5,4.6199998856,0.200000003,2.5899999142,46,14.8000001907,92.9000015259,55.4000015259,42.9000015259,34.5,33.5,13.8999996185,0.6000000238,17,10.6499996185,0.2399999946,31,NA,NA,NA -"303","287",0,0.9800000191,4.9299998283,0.5,0.7099999785,28.3999996185,4.5,NA,4.4000000954,137,10.8999996185,100.0001983643,0,0.1199999973,10.1899995804,33,60.0001983643,378,0.9100000262,16.6000003815,5.2199997902,0.400000006,2.4800000191,32.2999992371,14.8000001907,85.5999984741,63.5999984741,44.7000007629,33.0999984741,30.7999992371,14.1999998093,0.6999999881,13.3999996185,16.0300006866,0.0799999982,28,NA,NA,NA -"304","288",0,0.8899999857,2,3.2999999523,0.4600000083,31.2000007629,4.5,99,7.1999998093,133,9.3999996185,100.0001983643,0,0.0399999991,3.6500000954,28.2999992371,60.0001983643,402,0.8299999833,14.8999996185,4.0100002289,0.200000003,2.5399999619,18.8999996185,12.5,89.8000030518,57.5,36,34.7000007629,31.3999996185,12.8000001907,0.6000000238,9.8999996185,6.3600001335,0.2099999934,NA,NA,NA,0.8000000119 -"305","289",3,1.3300000429,1.8500000238,1.6000000238,0.349999994,35,3.9000000954,NA,6.3000001907,141,11.3000001907,65,0,0.0199999996,3.2200000286,29.8999996185,60.0001983643,156,0.6999999881,16.6000003815,4.4299998283,0,2.3499999046,36.2000007629,15.5,97.6999969482,58.2000007629,43.2999992371,35.7999992371,33.5,13.3000001907,0.400000006,14.1000003815,5.5300002098,0.0900000036,16,NA,NA,NA -"306","290",2,0.98,2.88,3.7,0.41,29,4.7,107,6.8,140,8.8,100,0,0.04,2.47,28.3,60,278,0.54,10.1,4.45,0,2.4,14.3,12.9,87.2,41,38.8,33.2,47.8,13.8,0.7,9.2,6.02,0.22,20,83,NA,NA -"307","291",7,1.0700000525,1.6000000238,1.7000000477,0.8899999857,28.6000003815,4.9000000954,104,13.3999996185,139,10.5,89,0,0.0299999993,4.0100002289,31,60.0001983643,361,0.8299999833,16.7999992371,4.6900000572,0.3000000119,2.3800001144,28.7999992371,13.3999996185,86.8000030518,60.2999992371,40.7000007629,32.9000015259,24.1000003815,13.6999998093,0.5,12.3000001907,6.6399998665,0.1099999994,NA,NA,NA,NA -"308","292",4,0.9800000191,3.2899999619,6.1999998093,0.4699999988,35.7000007629,4.5999999046,105,7.0999999046,142,10.1000003815,100.0001983643,0,0.2300000042,2.2000000477,29.3999996185,60.0001983643,296,0.6499999762,16.6000003815,3.6700000763,0.200000003,2.3099999428,24.7000007629,13.1000003815,106.3000030518,33.4000015259,39,33.5999984741,49.7999992371,15.6999998093,3.5,11.3000001907,6.5999999046,0.4099999964,NA,NA,4.0999999046,0.6999999881 -"309","293",2,1.05,1.72,1.7,0.36,30.1,4.9,105,8.5,139,11.1,100,0,0.05,2.04,27.2,60,260,0.91,10.8,4.81,0.5,2.3,33.1,14.5,94,48,45.2,32.1,40.6,12.5,1.2,12.5,4.24,0.07,NA,NA,NA,0.8 -"310","294",14,0.9800000191,1.9800000191,4.3000001907,0.6700000167,33.5,4.0999999046,99,10,134,12.1999998093,100.0001983643,0,0.0299999993,3.7300000191,33.0999984741,60.0001983643,144,0.6999999881,15.6999998093,4.6500000954,0.1000000015,2.5,41.7999992371,15.6000003815,96.3000030518,55.7000007629,44.7999992371,34.7999992371,29.6000003815,12.3999996185,0.400000006,15.6999998093,6.6999998093,0.2899999917,NA,NA,NA,NA -"311","295",1,0.9599999785,1.1799999475,0.200000003,0.7699999809,31.3999996185,4.3000001907,104,7.0999999046,139,9.6000003815,100.0001983643,0,0.0199999996,8.8100004196,27.2000007629,60.0001983643,375,0.6800000072,15.1999998093,4.7399997711,0.200000003,2.4500000477,21.8999996185,14.8999996185,94.0999984741,81.5999984741,44.5999984741,33.4000015259,10.8999996185,12.3000001907,0.200000003,11.1999998093,10.8000001907,0.0199999996,NA,NA,NA,NA -"312","296",2,NA,0.87,0.2,0.78,27.3,5.5,105,7.5,136,10.8,NA,0.2,0.01,8.73,NA,39,200,1.39,NA,4.66,1.1,2.3,33.5,12.7,82.8,83.8,38.6,32.9,8.4,20.6,0.1,13.5,10.41,0.02,NA,NA,7.9,0.9 -"313","296",1,1.06,NA,NA,NA,NA,NA,NA,NA,NA,NA,97,NA,NA,NA,74.6,NA,NA,NA,40.9,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"314","297",3,0.9100000262,1.7899999619,0.6000000238,0.8899999857,27.3999996185,4.3000001907,NA,8.8000001907,140,9.6000003815,100.0001983643,0,0.0500000007,7.3499999046,26.7999992371,60.0001983643,289,0.7300000191,19.2000007629,4.9200000763,0.200000003,2.6099998951,22.1000003815,13.5,82.3000030518,72.4000015259,40.5,33.2999992371,17.7000007629,13.6000003815,0.5,11.1999998093,10.1400003433,0.0599999987,31,NA,NA,NA -"315","298",0,NA,0.27,0.6,0.25,29.4,NA,NA,7.5,NA,NA,NA,0,0,2.81,NA,NA,62,NA,NA,2.93,0.3,NA,25.7,8.6,86.3,83.8,25.3,34,8.1,13.7,0,11.1,3.35,0.02,NA,NA,NA,NA -"316","298",1,1.15,NA,NA,NA,NA,NA,NA,NA,NA,NA,90,NA,NA,NA,32.4,NA,NA,NA,9.9,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"317","299",0,0.9700000286,1.8200000525,2.7000000477,0.6600000262,30.8999996185,4.8000001907,NA,12,142,11.5,100.0001983643,0,0.0599999987,2.8299999237,27.7999992371,60.0001983643,244,1.1799999475,16.3999996185,4.8899998665,0.400000006,2.4000000954,37.5999984741,15.1000003815,91.4000015259,51.2000007629,44.7000007629,33.7999992371,33,13.1999998093,1.1000000238,14.6000003815,5.5199999809,0.150000006,18,NA,NA,NA -"318","300",3,1.0599999428,1.2899999619,0.6000000238,1.1100000143,30.2999992371,4.1999998093,99,7.9000000954,136,11.8999996185,90,0.1000000015,0.0299999993,11.6099996567,30.1000003815,60.0001983643,319,0.8399999738,16.2000007629,5.4699997902,0.5,2.3299999237,40.7999992371,16.6000003815,87.8000030518,82.1999969482,48,34.5999984741,9.1000003815,12.6000003815,0.200000003,16,14.1199998856,0.0799999982,24,109,NA,NA -"319","301",5,1.03,1.5,NA,NA,33,4.4,NA,NA,131,NA,99,NA,NA,3.41,28.3,NA,145,1.06,10.9,4.09,NA,2.6,NA,13.5,95.7,62.1,39.1,34.5,26.6,12.4,NA,NA,5.5,NA,NA,271,NA,NA -"320","302",13,1.0900000334,1.4400000572,0.5,0.7599999905,31.7000007629,4.8000001907,100,13.6999998093,135,9.3000001907,87,0,0.0199999996,3.2899999619,30.7000007629,60.0001983643,324,0.75,15.3000001907,3.7200000286,0.200000003,2.2899999619,18.7999992371,11.8000001907,92.5,59.4000015259,34.4000015259,34.2999992371,26,12.6000003815,0.400000006,9.8999996185,5.5399999619,0.0299999993,NA,NA,NA,NA -"321","303",1,0.9700000286,3.6600000858,0.1000000015,0.5799999833,32.5999984741,4.1999998093,NA,5.1999998093,136,10.8000001907,100.0001983643,0,0.0299999993,6.8499999046,24.2000007629,60.0001983643,315,0.9700000286,15.8999996185,4.4499998093,0.200000003,2.5399999619,32,14.5,93.6999969482,61.5,41.7000007629,34.7999992371,32.9000015259,12.3000001907,0.3000000119,13.3000001907,11.1300001144,0.0099999998,26,NA,NA,NA -"322","304",7,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.94,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"323","305",8,0.8999999762,2.1199998856,0.6000000238,1.0199999809,33.2000007629,5.0999999046,100,8.1999998093,138,10.6000003815,100.0001983643,0,0.0799999982,9.0799999237,31.8999996185,60.0001983643,342,0.7599999905,15.8999996185,5.1199998856,0.200000003,2.4700000286,30.8999996185,17,92.8000030518,73.5,47.5,35.7999992371,17.1000003815,12.8999996185,0.6000000238,13,12.3699998856,0.0700000003,18,92,NA,NA -"324","306",7,1,1.2300000191,0.3000000119,0.6299999952,30.5,5.8000001907,96,5.0999999046,130,10.3000001907,100,0,0.0199999996,10.5200004578,28.5,60.0001983643,305,0.9100000262,10.3000001907,5.1100001335,0.200000003,2.4000000954,27.2999992371,15.6000003815,85.6999969482,84.5,43.7999992371,35.5999984741,9.8999996185,12.6000003815,0.200000003,12.1000003815,12.4399995804,0.0399999991,NA,NA,NA,NA -"325","307",2,1.19,1.3,0.9,0.26,30.3,4.6,104,4.4,143,10.3,73,0,0.02,4.23,40.7,60,239,0.96,NA,4.88,0.2,2.5,26.6,14.8,100.2,72.2,48.9,30.3,22.2,15.1,0.3,11.6,5.86,0.05,30,49,NA,NA -"326","308",4,0.9499999881,2.6500000954,2.9000000954,1.0900000334,32.2999992371,4.5999999046,NA,12.1999998093,143,10.6999998093,100.0001983643,0,0.0500000007,4.9200000763,32.2999992371,60.0001983643,341,0.8999999762,17.7000007629,4.6399998665,0.3000000119,2.25,29.8999996185,15,96.5999984741,54.7999992371,44.7999992371,33.5,29.5,12.8999996185,0.6000000238,12.3000001907,8.970000267,0.2599999905,41,NA,NA,NA -"327","309",3,1.06,2.03,6.6,0.49,33.4,4.7,103,8.7,139,NA,89,0,0.04,2.68,34.5,60,138,0.71,10.6,4.64,0.4,2.4,28.7,15.5,95.9,47.8,44.5,34.8,36.2,13.3,0.7,12.7,5.61,0.37,NA,NA,NA,NA -"328","310",3,0.8999999762,2.5199999809,2.5999999046,0.5199999809,32.2000007629,4.3000001907,NA,6.5999999046,139,10.6000003815,100.0001983643,0,0.0399999991,4.6399998665,27.2000007629,60.0001983643,233,0.8500000238,16.2000007629,4.7800002098,0.3000000119,2.3800001144,29.6000003815,15.3999996185,93.6999969482,58.5,44.7999992371,34.4000015259,31.7999992371,12.6000003815,0.5,11.8999996185,7.9299998283,0.2099999934,36,NA,NA,NA -"329","311",0,0.92,3.2,NA,NA,32.1,4.6,98,NA,133,NA,100,NA,NA,7.75,30.3,NA,357,0.58,10.1,4.3,NA,2.4,NA,13.8,91.5,62.2,39.3,35.1,25.8,12,NA,NA,12.45,NA,NA,78,NA,NA -"330","312",1,1.0599999428,3.4900000095,0.400000006,0.1199999973,31.6000003815,4.6999998093,101,0.6000000238,137,12.8000001907,90,0,0.150000006,15.1400003433,33.2000007629,60.0001983643,190,0.8600000143,15.5,4.1100001335,6.6999998093,2.3299999237,44.5999984741,13,94.4000015259,79.8000030518,38.7999992371,33.5,18.3999996185,16.2000007629,1,19.8999996185,18.9799995422,0.0799999982,34,89,NA,NA -"331","313",13,1,4.1900000572,0.6000000238,0.8600000143,29.7000007629,4.4000000954,NA,4.5,139,9.3000001907,100.0001983643,0,0.0500000007,13.7100000381,28.7000007629,NA,373,0.7599999905,14.5,5.2199997902,0.3000000119,2.4000000954,18.6000003815,15.5,86.5999984741,72.5,45.2000007629,34.2999992371,22.1000003815,13.1999998093,0.3000000119,10.8999996185,18.9300003052,0.1199999973,16,NA,NA,NA -"332","314",5,0.96,3.51,2.8,1.28,31.8,4.5,100,11,135,NA,100,NA,0.06,6.47,29.8,60,416,0.57,10.4,5.03,NA,2.3,25.3,16,89.9,55.6,45.2,35.4,30.1,14.8,0.5,11.2,11.65,0.33,NA,NA,NA,0.8 -"333","315",3,0.8999999762,2.2699999809,2,0.5099999905,30.7999992371,4.0999999046,109,7.0999999046,140,10,100.0001983643,NA,0.0500000007,4.1799998283,26.7000007629,60.0001983643,246,0.75,16.3999996185,5.0300002098,0.1000000015,2.3800001144,25.6000003815,15.5,88.0999984741,58.5,44.2999992371,35,31.7000007629,13,0.6999999881,11.3999996185,7.1500000954,0.1400000006,NA,NA,NA,NA -"334","316",2,0.9800000191,1.3300000429,1.7999999523,0.7699999809,31.5,4.4000000954,NA,8.5,136,12.3000001907,100.0001983643,0,0.0399999991,6.7199997902,26.2000007629,60.0001983643,217,0.8199999928,16.2000007629,4.9800000191,0.3000000119,2.3900001049,43.7999992371,15.6999998093,94.1999969482,74.5999984741,46.9000015259,33.5,14.6999998093,12.6999998093,0.400000006,16.7999992371,9.0200004578,0.1599999964,30,NA,NA,NA -"335","318",13,0.9300000072,1.7899999619,2,0.7599999905,32.4000015259,4.6999998093,103,9.6000003815,139,10.3000001907,100.0001983643,0,0.0399999991,5.1599998474,29,60.0001983643,163,0.8999999762,16.3999996185,5.2399997711,0.8999999762,2.4400000572,27.7000007629,17,91.8000030518,65.3000030518,48.0999984741,35.2999992371,22.6000003815,13.3000001907,0.5,11.8000001907,7.9099998474,0.1599999964,NA,NA,NA,NA -"336","319",2,0.9499999881,1.3400000334,2.4000000954,0.6899999976,34,4.8000001907,107,12.5,138,10.8999996185,100.0001983643,0,0.0399999991,3.2999999523,29.2000007629,60.0001983643,209,0.8000000119,9.6999998093,4.3800001144,0.200000003,2.4000000954,31.5,14.8999996185,98.1999969482,60,43,34.7000007629,24.3999996185,14.6000003815,0.6999999881,12.3000001907,5.5,0.1299999952,23,100,NA,NA -"337","320",14,1.1100000143,1.0599999428,1.7999999523,0.7200000286,31.6000003815,5,NA,10.1999998093,139,10.8000001907,85,0,0.0299999993,5.1399998665,31.6000003815,52,235,1.3300000429,15.1000003815,5.5999999046,0.3000000119,2.4400000572,31.6000003815,17.7000007629,91.3000030518,72.5999984741,51.0999984741,34.5999984741,15,13.8000001907,0.400000006,13.3000001907,7.0799999237,0.1299999952,56,NA,NA,NA -"338","322",1,1.0399999619,1.7599999905,0.6999999881,0.6600000262,29.5,5.0999999046,NA,6.0999999046,138,10.6999998093,93,0,0.0500000007,8.1999998093,28.6000003815,60.0001983643,240,0.8299999833,16.8999996185,4.5100002289,0.400000006,2.2899999619,30.7000007629,13.3000001907,82.6999969482,76.3000030518,37.2999992371,35.7000007629,16.3999996185,13.6999998093,0.5,12.8999996185,10.75,0.0799999982,NA,NA,NA,NA -"339","322",6,NA,NA,NA,NA,NA,NA,101,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,33,NA,NA,NA -"340","323",0,0.9200000167,2.2300000191,3,0.6700000167,32.2000007629,4.6999998093,108,9.3000001907,143,10.6000003815,100.0001983643,0,0.0500000007,4.0599999428,27.2999992371,60.0001983643,323,0.5699999928,10.5,4.5399999619,0.3000000119,2.2999999523,29.6000003815,14.6000003815,95.8000030518,56.2000007629,43.5,33.5999984741,30.7999992371,13,0.6999999881,12.5,7.2300000191,0.2199999988,NA,NA,NA,0.6999999881 -"341","324",1,1.02,2,NA,NA,29.2,4.9,99,NA,133,NA,100,NA,NA,6.93,28.6,60,347,0.84,10.7,4.76,NA,2.5,NA,13.9,83.9,72.6,39.9,34.8,20.8,14.6,NA,NA,9.55,NA,NA,124,NA,NA -"342","325",2,0.8899999857,1.9800000191,4.5999999046,0.7099999785,29.7999992371,4.6999998093,104,8.8000001907,139,9.3000001907,100.0001983643,0,0.0599999987,4.9800000191,31.6000003815,60.0001983643,255,0.7099999785,10,4.6599998474,1.1000000238,2.4000000954,19.2000007629,13.8999996185,90.8000030518,61.5,42.2999992371,32.9000015259,24.3999996185,14.8999996185,0.6999999881,10.5,8.1000003815,0.3700000048,30,98,NA,NA -"343","326",12,0.8899999857,1.3600000143,4.8000001907,0.8100000024,35.0999984741,4.1999998093,103,20.6000003815,144,10.6999998093,100.0001983643,0,0.0099999998,1.5599999428,27.7000007629,60.0001983643,196,0.6200000048,16.3999996185,3.7300000191,2.5,2.5,30.3999996185,13.1000003815,104,39.7000007629,38.7999992371,33.7999992371,34.5999984741,14.8000001907,0.3000000119,13,3.9300000668,0.1899999976,NA,NA,NA,NA -"344","327",0,1.0199999809,2.7999999523,3.2999999523,0.6499999762,31,5.3000001907,NA,8.3000001907,135,9.8000001907,97,0,0.0500000007,4.0999999046,28.5,60.0001983643,273,0.9300000072,16.5,4.5100002289,0,2.5799999237,22.5,14,90,52.2000007629,40.5999984741,34.5,35.5999984741,12.5,0.6000000238,11.1000003815,7.8600001335,0.2599999905,37,NA,NA,NA -"345","328",0,0.9499999881,1.7699999809,2.7999999523,0.6899999976,30.1000003815,4.3000001907,102,9.1000003815,138,11.3000001907,100.0001983643,0,0.0399999991,4.9000000954,28,58,223,1.2100000381,9.8000001907,4.9499998093,0.400000006,2.5,36.4000015259,14.8999996185,86.9000015259,64.3000030518,43,34.7000007629,23.2999992371,12.5,0.5,14.8000001907,7.6100001335,0.2099999934,43,162,NA,NA -"346","329",0,1.0499999523,2.4800000191,0.6999999881,1.2799999714,30.5,4.5999999046,NA,10.1999998093,140,9.6999998093,92,0,0.0599999987,8.6800003052,28.2000007629,60.0001983643,460,0.7099999785,15.8000001907,4.8200001717,0.3000000119,2.3399999142,22.2000007629,14.6999998093,87.8000030518,68.9000015259,42.2999992371,34.7999992371,19.7000007629,14.1999998093,0.5,11.1999998093,12.5900001526,0.0900000036,25,NA,NA,NA -"347","330",9,1.0299999714,1.5,3.9000000954,0.9499999881,28.5,4.5999999046,NA,10.1999998093,140,11.8999996185,94,0,0.0399999991,6.4299998283,30.6000003815,60.0001983643,266,0.7599999905,15.6999998093,4.7699999809,0.200000003,2.3499999046,41.4000015259,13.6000003815,89.5,69.3000030518,42.7000007629,31.8999996185,16.2000007629,13.5,0.400000006,15.8999996185,9.279999733,0.3600000143,34,NA,NA,NA -"348","331",3,0.91,NA,NA,NA,NA,NA,NA,NA,NA,NA,100,NA,NA,NA,28.7,NA,NA,NA,10.4,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"349","333",2,1.0900000334,1.8799999952,2.2999999523,0.75,29.3999996185,4.4000000954,106,10.8000001907,137,10.6000003815,87,0,0.0500000007,4.1300001144,37.7999992371,60.0001983643,124,0.6600000262,10.6000003815,5.1100001335,0.1000000015,2.2000000477,31.2999992371,15,87.3000030518,59.2000007629,44.5999984741,33.5999984741,27,15.1000003815,0.6999999881,13.8999996185,6.9699997902,0.1599999964,NA,NA,0.8000000119,0.6999999881 -"350","334",0,1,1.5399999619,2.4000000954,0.75,31.2000007629,4.4000000954,NA,11.3000001907,140,9.6000003815,100,0,0.0299999993,4.1599998474,34.2999992371,60.0001983643,305,0.7699999809,15.6000003815,3.8800001144,0.3000000119,2.2100000381,21.5,12.1000003815,93.3000030518,62.5999984741,36.2000007629,33.4000015259,23.2000007629,14.8000001907,0.5,10.1999998093,6.6399998665,0.1599999964,21,NA,NA,NA -"351","335",14,0.9100000262,2.0299999714,2.0999999046,1.5199999809,30.8999996185,NA,NA,10.5,NA,10.1999998093,100.0001983643,0,0.0599999987,10.5100002289,29.6000003815,NA,523,NA,8.6999998093,4.3299999237,0.3000000119,NA,25.7000007629,13.3999996185,91.5,72.9000015259,39.5999984741,33.7999992371,14.1000003815,14.1999998093,0.400000006,11.3999996185,14.4300003052,0.3100000024,NA,NA,NA,NA -"352","335",0,NA,NA,NA,NA,NA,5.0999999046,NA,NA,140,NA,NA,NA,NA,NA,NA,60.0001983643,NA,0.5299999714,NA,NA,NA,2.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"353","336",0,1.0299999714,1.4800000191,0.6000000238,0.5799999833,27.7000007629,4.0999999046,104,7.5,137,10.8000001907,95,0,0.0099999998,5.6599998474,29,60.0001983643,228,1.0800000429,15.8000001907,4.8800001144,0.3000000119,2.3599998951,31.7000007629,13.5,83.1999969482,72.8000030518,40.5999984741,33.2999992371,19,13.8000001907,0.1000000015,12.3999996185,7.7800002098,0.0500000007,NA,NA,NA,NA -"354","337",2,0.9300000072,1.3200000525,0.8000000119,0.3100000024,29.6000003815,4.3000001907,NA,8,136,10.1999998093,100.0001983643,0,0.0099999998,2.1900000572,32.7999992371,53,191,1.3500000238,15.6999998093,4.3200001717,0.5,2.4200000763,26.3999996185,12.8000001907,89.4000015259,56.7000007629,38.5999984741,33.2000007629,34.2000007629,15.6999998093,0.3000000119,11.8000001907,3.8599998951,0.0299999993,40,NA,NA,NA -"355","338",5,0.9499999881,1.2000000477,5.1999998093,0.6600000262,27.7999992371,4.5999999046,NA,11,138,10.5,100.0001983643,0,0.0399999991,3.7999999523,28.7999992371,60.0001983643,203,0.7699999809,15.1999998093,4.7399997711,0.3000000119,2.4200000763,29.7000007629,13.1999998093,83.3000030518,63.0999984741,39.5,33.4000015259,20,14.5,0.6999999881,13.1999998093,6.0100002289,0.3100000024,39,NA,NA,NA -"356","339",2,0.8999999762,2,1.8999999762,0.5899999738,27.2999992371,4.5999999046,NA,9.3999996185,136,9.5,100.0001983643,0,0.0199999996,3.5299999714,27.2000007629,60.0001983643,361,0.8700000048,16.2999992371,4.9099998474,0.6000000238,2.3499999046,21.2999992371,13.3999996185,80.9000015259,56.5,39.7000007629,33.7999992371,31.8999996185,14.3000001907,0.3000000119,11.1000003815,6.2600002289,0.1199999973,31,NA,NA,NA -"357","340",2,0.9399999976,0.5899999738,1.7999999523,0.5899999738,32.9000015259,5.1999998093,NA,11.5,129,12.3000001907,100.0001983643,0,0.0099999998,3.8399999142,30.7000007629,60.0001983643,206,0.9300000072,14.8000001907,4.3099999428,0.200000003,2.5,43.5,14.1999998093,93.6999969482,75,40.4000015259,35.0999984741,11.5,14,0.200000003,16.7000007629,5.1199998856,0.0900000036,37,NA,NA,NA -"358","341",9,0.8299999833,1.9199999571,0.8999999762,0.8500000238,33.5,4.9000000954,100,8.8999996185,135,12.1000003815,100.0001983643,0,0.0299999993,6.6100001335,28.7999992371,60.0001983643,213,0.7699999809,15.8999996185,4.5999999046,0.200000003,2.4700000286,41.5999984741,15.3999996185,91.6999969482,69.6999969482,42.2000007629,36.5,20.2000007629,11.8000001907,0.3000000119,16.1000003815,9.5,0.0900000036,NA,NA,NA,NA -"359","342",0,1.0299999714,2.0299999714,1.5,0.5799999833,33.4000015259,3.9000000954,106,10.8000001907,142,11.6000003815,95,0,0.0299999993,2.6700000763,35.7999992371,60.0001983643,207,0.7699999809,16.5,3.9200000763,0.200000003,2.2599999905,37.2000007629,13.1000003815,98,49.4000015259,38.4000015259,34.0999984741,37.7000007629,12.5,0.6000000238,15.1000003815,5.3899998665,0.0799999982,32,NA,NA,NA -"360","343",3,0.9200000167,2.9900000095,4.3000001907,0.75,32.2999992371,4.0999999046,104,9.1999998093,140,10.8000001907,100.0001983643,0,0.0500000007,4.0399999619,27.1000003815,60.0001983643,254,0.5699999928,17,4.8000001907,0.200000003,2.3099999428,31,15.5,94.5999984741,49.2999992371,45.4000015259,34.0999984741,36.5999984741,13.8000001907,0.6000000238,12.1999998093,8.1800003052,0.349999994,34,NA,NA,NA -"361","344",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,6.6999998093,0.6999999881 -"362","344",11,0.9900000095,0.9200000167,4,1.1100000143,31.5,4.1999998093,99,13.8000001907,135,9.3999996185,100.0001983643,0,0.0599999987,5.6599998474,39.2999992371,60.0001983643,305,1.0199999809,10.6000003815,4.5399999619,0.5,2.2999999523,19.1000003815,14.3000001907,91.9000015259,70.0999984741,41.7000007629,34.2999992371,11.3999996185,13.1999998093,0.6999999881,9.8999996185,8.0699996948,0.3199999928,19,91,NA,NA -"363","345",0,1.06,1.29,9,0.26,29,4.1,110,6.5,141,NA,88,NA,0.03,2.02,29.2,60,239,0.63,10.5,3.86,NA,2.2,NA,11.2,86.5,51.3,33.4,33.5,29.8,13.3,0.7,NA,3.94,0.35,NA,NA,NA,NA -"364","346",4,1.0299999714,1.0900000334,4,0.3899999857,27.2000007629,4.0999999046,102,8.1999998093,139,9.3999996185,96,0,0.0399999991,3.0199999809,28.3999996185,60.0001983643,217,1.0199999809,16.6000003815,4.6300001144,0.400000006,2.2599999905,20,12.6000003815,83.4000015259,64,38.5999984741,32.5999984741,23,15.6999998093,0.8000000119,10.6000003815,4.7300000191,0.1899999976,NA,NA,NA,0.8999999762 -"365","347",3,0.9100000262,2.2300000191,0.200000003,1.2999999523,30.8999996185,4.8000001907,102,11.5,138,10.6999998093,100.0001983643,0,0.0199999996,7.7300000191,32.0999984741,60.0001983643,268,1.1100000143,10.6999998093,5.3099999428,0.3000000119,2.4000000954,30.7000007629,16.3999996185,90.8000030518,68.4000015259,48.2000007629,34,19.7000007629,14.5,0.200000003,13.3999996185,11.3000001907,0.0199999996,16,94,2.4000000954,NA -"366","348",0,1.08,2.01,0.3,0.73,31.5,4.7,103,9.6,137,10.5,91,0,0.02,4.85,26.2,60,291,0.82,10.4,4.38,0.1,2.5,28.7,13.8,89.3,63.5,39.1,35.3,26.3,13,0.3,12.1,7.63,0.02,NA,NA,2.7,0.9 -"367","349",1,0.9800000191,2.2899999619,2.5999999046,1.3899999857,36.9000015259,5,104,11.6000003815,132,10.1000003815,100.0001983643,0.1000000015,0.0599999987,7.9200000763,30.8999996185,60,345,0.67,10,3.7400000095,1.8999999762,2.2,25.3999996185,13.8000001907,108.5999984741,66.1999969482,40.5999984741,34,19.1000003815,13.8999996185,0.5,11.6000003815,11.970000267,0.3100000024,11,96,NA,NA -"368","350",0,1.04,2.66,2.7,0.71,32.4,4.2,107,12.7,143,10.6,98,0,0.04,2.01,27.1,60,137,0.79,10.1,4.78,0.2,2.5,30.9,15.5,92.3,36.1,44.1,35.1,47.8,12.4,0.7,12.5,5.57,0.15,NA,NA,NA,NA -"369","351",0,0.9700000286,1.9700000286,0.5,1.2300000191,33,4.3000001907,NA,9.5,137,10.1999998093,100.0001983643,0,0.0599999987,9.6599998474,27.7000007629,60.0001983643,329,0.5500000119,16.2000007629,5.4499998093,0.3000000119,2.3499999046,26.3999996185,18,93.1999969482,74.3000030518,50.7999992371,35.4000015259,15.1999998093,13.3999996185,0.5,12,12.9899997711,0.0700000003,25,NA,NA,NA -"370","352",3,1.1900000572,1.0199999809,0.6000000238,0.5899999738,30.2999992371,4.0999999046,NA,9,134,14.1000003815,76,0,0.0099999998,4.8600001335,34.9000015259,60.0001983643,97,0.6899999976,17.7000007629,4.0900001526,0.200000003,2.25,57.5999984741,12.3999996185,87.8000030518,74.5999984741,35.9000015259,34.5,15.6000003815,14.3999996185,0.200000003,20.2999992371,6.5199999809,0.0399999991,14,NA,NA,NA -"371","352",13,NA,NA,NA,NA,NA,NA,95,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,19.7999992371,0.8000000119 -"372","353",1,0.9700000286,1.4099999666,3.2000000477,0.6100000143,28.6000003815,4.1999998093,106,6.8000001907,139,11.6000003815,100.0001983643,0,0.0700000003,6.6399998665,26.6000003815,60.0001983643,198,0.5899999738,16.5,4.6900000572,0.200000003,2.6099998951,39,13.3999996185,85.3000030518,73.5999984741,40,33.5,15.6000003815,14.8000001907,0.8000000119,14.8999996185,9.0200004578,0.2899999917,NA,NA,NA,0.6999999881 -"373","354",14,1.0199999809,1.0499999523,0.6999999881,0.8299999833,28.6000003815,4.1999998093,NA,9.6000003815,136,10.5,97,0,0.0700000003,6.6399998665,28.6000003815,60.0001983643,321,0.9399999976,16.5,5.0999999046,0.1000000015,2.3599998951,29.3999996185,14.6000003815,85.6999969482,76.8000030518,43.7000007629,33.4000015259,12.1000003815,13.3999996185,0.8000000119,12.8999996185,8.6499996185,0.0599999987,19,NA,NA,NA -"374","355",0,1.02,1.26,0.1,0.98,31.2,4.9,100,7.3,144,12.1,96,0,0.01,11.21,27.8,60,294,0.9,9.8,5.09,0.2,2.5,44.7,15.9,91.6,83.2,46.6,34.1,9.3,13,0.1,15.9,13.48,0.02,NA,NA,29.8,0.7 -"375","356",2,NA,3.16,1.9,0.69,30.4,4.7,105,6.4,139,NA,NA,NA,0.03,6.64,NA,NA,273,NA,NA,4.93,NA,2.5,24.2,15,91.1,61.9,44.9,33.4,29.5,14.7,0.3,10.6,10.72,0.2,NA,NA,3.4,0.9 -"376","356",3,0.86,NA,NA,NA,NA,NA,NA,NA,NA,NA,100,NA,NA,NA,28.3,60,NA,1.11,9.8,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"377","357",0,0.9300000072,2.9200000763,1.3999999762,1.3099999428,33.9000015259,4.9000000954,95,10.3000001907,128,10.3000001907,100.0001983643,0,0.0199999996,8.25,34.9000015259,60.0001983643,258,0.6100000143,15,4.6900000572,0.200000003,2.3800001144,27.7999992371,15.8999996185,95.9000015259,65.0999984741,45,35.2999992371,23,12.8999996185,0.200000003,12.1999998093,12.6800003052,0.1800000072,NA,NA,2.7999999523,0.8999999762 -"378","358",3,0.9700000286,1.6299999952,1.7999999523,0.5099999905,30.3999996185,4.8000001907,107,6.5,140,11.5,100.0001983643,0,0.0199999996,5.5700001717,30.7999992371,60.0001983643,260,0.6499999762,10.3999996185,4.6700000763,0.1000000015,2.5,38.2999992371,14.1999998093,91.5999984741,70.6999969482,42.7999992371,33.2000007629,20.7000007629,13.6000003815,0.3000000119,14.1000003815,7.8699998856,0.1400000006,NA,NA,0.400000006,1 -"379","359",2,0.9800000191,2.0199999809,3.2000000477,0.7200000286,32.5999984741,4.5,103,9.5,139,10.1000003815,100.0001983643,0,0.0599999987,4.5100002289,29.5,60.0001983643,165,0.75,18.2999992371,4.8800001144,0.3000000119,2.4000000954,26,15.8999996185,93.5999984741,59.7000007629,45.7000007629,34.7999992371,26.7999992371,13.1999998093,0.8000000119,12.6999998093,7.5500001907,0.2399999946,13,NA,NA,NA -"380","360",3,0.8700000048,1.5,0.8999999762,0.8399999738,34.0999984741,3.9000000954,NA,12,125,10.5,100.0001983643,0,0.0399999991,4.5599999428,29,40,325,1.3099999428,14.6999998093,4.1900000572,0.3000000119,2.5199999809,28.2999992371,14.3000001907,92.0999984741,65.0999984741,38.5999984741,37,21.3999996185,13.3000001907,0.6000000238,12.1999998093,7,0.0599999987,33,NA,NA,NA -"381","361",12,0.9900000095,1.7200000286,0.3000000119,1.2100000381,29.1000003815,4.6999998093,103,10.5,138,12.3000001907,100.0001983643,0,0.0500000007,8.4799995422,29.2999992371,60.0001983643,262,0.9900000095,14.6999998093,5.0100002289,0.200000003,2.4500000477,42.2000007629,14.6000003815,85,73.8000030518,42.5999984741,34.2999992371,15,14.3000001907,0.400000006,15.6000003815,11.4899997711,0.0299999993,NA,NA,NA,NA -"382","362",2,0.9800000191,1.8899999857,0.6000000238,1.0700000525,29.2000007629,4.5,95,6.9000000954,132,11.1000003815,100.0001983643,0,0.1299999952,12.3599996567,35.7999992371,60.0001983643,454,0.7200000286,9.6000003815,4.2100000381,0.3000000119,2.2999999523,34,12.3000001907,86,79.5,36.2000007629,34,12.1999998093,13.3000001907,0.8000000119,13.8000001907,15.5399999619,0.0900000036,32,92,NA,NA -"383","363",12,1.0599999428,2.2999999523,2.2999999523,0.4799999893,30.6000003815,3.7000000477,NA,6.9000000954,140,11.5,91,0,0.0199999996,4,29.7000007629,60.0001983643,141,0.8199999928,16.2000007629,4.6700000763,0.3000000119,2.3900001049,29.6000003815,14.3000001907,85.6999969482,57.5,40,35.7999992371,33,12.8999996185,0.3000000119,12.1999998093,6.9600000381,0.1099999994,25,NA,NA,NA -"384","365",0,1.05,2.45,0.5,0.39,36.2,4.8,106,4.5,142,11.2,89,0,0.02,5.83,29.7,60,159,0.81,10.9,4.09,0.1,2.5,34.9,14.8,103.4,66.7,42.3,35,28.1,12.7,0.2,13.3,8.73,0.04,14,90,NA,NA -"385","366",0,0.95,2.2,NA,NA,33.8,4.8,NA,NA,140,NA,100,NA,NA,4.08,29.2,NA,255,0.79,10.4,4.65,NA,2.5,NA,15.7,96,57.2,44.6,35.2,31.1,13.2,NA,NA,7.13,NA,NA,113,NA,NA -"386","367",7,1.0099999905,2.7300000191,2.4000000954,0.6499999762,31.2000007629,4.5999999046,108,7.6999998093,141,10,98,0,0.0199999996,4.8699998856,31,60.0001983643,248,0.9499999881,15.3999996185,4.9299998283,0.6999999881,2.25,25.3999996185,15.3999996185,91.6999969482,57.5,45.2000007629,34.0999984741,32.2000007629,12.8999996185,0.200000003,11.6000003815,8.470000267,0.200000003,NA,NA,55,NA -"387","367",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1 -"388","368",0,0.9300000072,1.5499999523,6.8000001907,0.3700000048,27.7999992371,4.0999999046,103,6.3000001907,137,8.8999996185,100.0001983643,NA,0.0599999987,3.4600000381,28.3999996185,60.0001983643,219,0.5799999833,16.2000007629,4.9600000381,0.200000003,2.3499999046,17.7999992371,13.8000001907,80.5999984741,59.4000015259,40,34.5,26.5,13.3000001907,1,10.1999998093,5.8400001526,0.400000006,NA,NA,NA,NA -"389","371",4,1.09,NA,NA,NA,NA,4.2,NA,NA,140,NA,83,NA,NA,NA,32.9,60,NA,0.75,10.2,NA,NA,2.4,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,132,NA,NA -"390","371",3,NA,0.8,NA,NA,31,NA,NA,NA,NA,NA,NA,NA,NA,4.57,NA,NA,339,NA,NA,4.03,NA,NA,NA,12.5,89.1,79,35.9,34.8,13.2,14.8,NA,NA,5.78,NA,NA,NA,NA,NA -"391","372",0,0.9499999881,1.0900000334,4.5999999046,0.2800000012,33,4.9000000954,104,4.8000001907,139,10.3000001907,100.0001983643,0,0.0199999996,4.2199997902,30.2000007629,60.0001983643,201,0.8899999857,10.1999998093,4.3699998856,0.200000003,2.5,27.3999996185,14.3999996185,95.4000015259,71.8000030518,41.7000007629,34.5,18.5,12.8000001907,0.3000000119,12.3999996185,5.8800001144,0.2700000107,30,NA,NA,NA -"392","373",1,0.9399999976,2.1800000668,1.3999999762,0.5600000024,31.3999996185,4.4000000954,NA,6.9000000954,142,10.6999998093,100.0001983643,0,0.0299999993,5.2399997711,29.1000003815,60.0001983643,354,0.9700000286,16.5,4.4899997711,0.5,2.4000000954,29.8999996185,14.1000003815,92.6999969482,64.5,41.5999984741,33.9000015259,26.7999992371,13.3999996185,0.400000006,12.6000003815,8.1199998856,0.1099999994,43,NA,NA,NA -"393","374",0,0.93,1.73,1.3,0.69,33,4.3,102,7,140,10.5,100,NA,0.05,7.22,26.9,60,308,0.67,9.8,4.67,0.2,2.5,29.8,15.4,97.6,73.6,45.6,33.8,17.6,12.5,0.5,12.6,9.82,0.13,NA,NA,NA,NA -"394","375",4,0.9300000072,3.3299999237,0.8999999762,0.5799999833,30.7000007629,4.4000000954,NA,5.5999999046,134,10.5,100.0001983643,0,0.0500000007,6.4000000954,27.6000003815,60.0001983643,245,0.5600000024,17.5,4.9200000763,0.5,2.3699998856,30,15.1000003815,87.8000030518,61.0999984741,43.2000007629,35,31.8999996185,12.6000003815,0.5,12.3999996185,10.4499998093,0.0900000036,41,NA,NA,NA -"395","376",6,0.9900000095,1.4900000095,0.8000000119,0.3700000048,30.3999996185,4.0999999046,103,6.9000000954,138,10,100.0001983643,0,0.0199999996,3.4100000858,27.3999996185,60.0001983643,258,1.0099999905,16.7000007629,4.4400000572,0,2.3199999332,24.6000003815,13.5,88.6999969482,63.9000015259,39.4000015259,34.2999992371,28,14.1000003815,0.400000006,11.5,5.3299999237,0.0399999991,NA,NA,NA,0.8999999762 -"396","377",5,1.0199999809,3.0799999237,3.7000000477,0.8500000238,33.7000007629,4.5,96,6.9000000954,129,9.8999996185,96,0,0.0399999991,7.8699998856,31.5,60.0001983643,275,0.8299999833,12.5,3.7699999809,0.200000003,2.2000000477,23.2000007629,12.6999998093,95.8000030518,64,36.0999984741,35.2000007629,25.1000003815,11.6999998093,0.3000000119,11.1000003815,12.2899999619,0.4499999881,16,61,NA,NA -"397","378",0,0.9300000072,1.3600000143,2.5,0.4799999893,31,4.6999998093,NA,7.5,141,10.6000003815,100.0001983643,0,0.0399999991,4.3400001526,25.7000007629,60.0001983643,219,0.9499999881,17.2000007629,4.8000001907,0.200000003,2.5099999905,29.7999992371,14.8999996185,91.9000015259,68.0999984741,44.0999984741,33.7999992371,21.2999992371,13.1999998093,0.6000000238,12.8999996185,6.3800001144,0.1599999964,36,NA,NA,NA -"398","379",3,0.9800000191,1.1100000143,2.5,1.0199999809,32.5999984741,5.3000001907,NA,13.5,137,9.1000003815,100.0001983643,0,0.0900000036,5.1399998665,27.2000007629,60.0001983643,337,0.9599999785,15.1999998093,4.75,0.1000000015,2.5099999905,17,15.5,94.9000015259,68.0999984741,45.0999984741,34.4000015259,14.6999998093,13.3999996185,1.2000000477,9.6999998093,7.5500001907,0.1899999976,27,NA,NA,NA -"399","380",0,0.8899999857,2.5799999237,1.5,0.6399999857,32.0999984741,4.6999998093,NA,7.3000001907,140,12.6999998093,100.0001983643,0,0.0299999993,5.4000000954,30.3999996185,60.0001983643,182,0.9900000095,16.2000007629,4.9200000763,0.5,2.3599998951,47,15.8000001907,90,61.5,44.2999992371,35.7000007629,29.3999996185,13.1000003815,0.3000000119,17.8999996185,8.779999733,0.1299999952,35,NA,NA,NA -"400","381",13,NA,0.9499999881,0.8000000119,3.4000000954,31.8999996185,NA,NA,39.5,NA,10.3000001907,NA,0,0.0199999996,4.1700000763,NA,NA,380,NA,NA,3.8499999046,0.6999999881,NA,26.6000003815,12.3000001907,94.5,48.5,36.4000015259,33.7999992371,11,13.3000001907,0.200000003,12,8.6099996567,0.0700000003,NA,NA,137.1999969482,NA -"401","381",0,0.9100000262,NA,NA,NA,NA,4.5,95,NA,133,NA,100.0001983643,NA,NA,NA,26.8999996185,60.0001983643,NA,0.6100000143,11,NA,NA,2.2000000477,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,22,109,NA,NA -"402","382",1,0.9800000191,1.7000000477,2.4000000954,0.6800000072,30.6000003815,4.5999999046,NA,10.8000001907,135,10.8000001907,100.0001983643,0,0.0299999993,3.7100000381,30.2999992371,60.0001983643,230,0.6100000143,14.8000001907,5.1999998093,0.200000003,2.4700000286,32.5,15.8999996185,87.9000015259,59.2000007629,45.7000007629,34.7999992371,27.1000003815,12.6000003815,0.5,14.1000003815,6.2699999809,0.150000006,31,NA,NA,NA -"403","383",4,0.8700000048,2.8199999332,3.5999999046,0.6299999952,31.6000003815,4.5,102,7.0999999046,137,10.1999998093,100.0001983643,0,0.0399999991,5.0199999809,32,60.0001983643,160,0.9900000095,17.3999996185,5.3400001526,0.5,2.3399999142,26.2000007629,16.8999996185,85.5999984741,56.9000015259,45.7000007629,37,31.8999996185,13.8999996185,0.5,11.8999996185,8.8299999237,0.3199999928,NA,NA,NA,NA -"404","384",2,1.02,0.93,1.5,0.31,27.4,3.7,97,3.5,134,10.3,100,0,0.02,7.37,29.2,60,321,0.52,8.9,3.76,0.2,2.2,26.5,10.3,82.7,84.2,31.1,33.1,10.6,15.6,0.2,11.5,8.76,0.13,12,76,NA,NA -"405","385",1,1.0499999523,2.2699999809,3,0.7900000215,33.2000007629,4.4000000954,106,5.9000000954,138,10.1999998093,92,0,0.0599999987,9.8000001907,38.4000015259,60.0001983643,257,0.8500000238,9.5,4.4600000381,0.200000003,2.4000000954,26.6000003815,14.8000001907,96.4000015259,73.5999984741,43,34.4000015259,17,13.3999996185,0.5,11.6999998093,13.3199996948,0.400000006,23,91,10.8999996185,NA -"406","386",0,0.9700000286,1.5599999428,3.0999999046,0.8399999738,30,4.3000001907,NA,10.6000003815,143,11.6999998093,100.0001983643,NA,0.0399999991,5.2600002289,29.7000007629,60.0001983643,238,1.0099999905,16.2999992371,5.1399998665,0.3000000119,2.4800000191,37.7000007629,15.3999996185,87.4000015259,66.1999969482,44.9000015259,34.2999992371,19.6000003815,14.3999996185,0.5,15,7.9499998093,0.25,32,NA,NA,NA -"407","387",2,1.0499999523,1.4700000286,3.2999999523,0.5699999928,27.7000007629,4.9000000954,104,7,138,9.3000001907,89,0,0.0399999991,5.8400001526,29.2000007629,60.0001983643,274,1.0099999905,10.1999998093,5.3000001907,0.1000000015,2.4000000954,18.3999996185,14.6999998093,81.9000015259,71.3000030518,43.4000015259,33.9000015259,17.8999996185,12.8999996185,0.5,10.3999996185,8.1899995804,0.2700000107,31,72,NA,NA -"408","387",12,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.8000000119 -"409","388",0,1.04,0.88,1.8,0.88,30.1,4.9,106,17.7,141,11.1,100,0,0.02,3.09,31.2,60,174,0.67,10.7,4.59,0.2,2.3,33.2,13.8,89.8,62.4,41.2,33.5,17.7,13.8,0.4,12.6,4.96,0.09,36,81,NA,NA -"410","389",3,1.09,1.33,0.1,0.81,31,4.7,101,9.7,136,9.3,82,0,0.02,6.15,34,60,376,0.8,11.3,4.29,0.1,2.4,18.5,13.3,90.2,74,38.7,34.4,16,13.1,0.2,10,8.32,0.01,NA,NA,NA,0.8 -"411","390",13,0.8999999762,1.7899999619,2.7999999523,0.4199999869,29.7000007629,4.0999999046,104,7.6999998093,139,10,100.0001983643,0,0.0500000007,3.0299999714,27.7000007629,60.0001983643,244,1.0399999619,16.8999996185,4.9899997711,0,2.4600000381,25.3999996185,14.8000001907,88,55.7000007629,43.9000015259,33.7000007629,32.9000015259,13.5,0.8999999762,11.8999996185,5.4400000572,0.150000006,NA,NA,NA,NA -"412","391",2,1.08,2.51,1.8,0.5,30.9,4.8,101,5.6,139,10.3,91,0,0.02,5.8,31.8,60,250,1,9.3,4.37,0.2,2.4,26.5,13.5,90.6,64.5,39.6,34.1,27.9,13.5,0.2,11.3,8.99,0.16,20,103,NA,NA -"413","392",1,1.0499999523,2.3199999332,2.5,1.3500000238,31,5.1999998093,NA,10.8999996185,134,11.1000003815,92,0,0.0199999996,8.3900003433,26.3999996185,60.0001983643,269,0.8500000238,16.1000003815,4.6500000954,0.6000000238,2.4000000954,34,14.3999996185,90.8000030518,67.6999969482,42.2000007629,34.0999984741,18.7000007629,12.6000003815,0.200000003,13.6000003815,12.3900003433,0.3100000024,33,NA,NA,NA -"414","393",1,0.9800000191,1.2599999905,2.2000000477,0.7599999905,32.5999984741,5.4000000954,97,8.6999998093,136,9.8999996185,100.0001983643,0,0.0500000007,6.4400000572,27.7999992371,60.0001983643,229,0.8600000143,9.6999998093,4.4800000191,0.3000000119,2.4000000954,23.3999996185,14.6000003815,93.5,74,41.9000015259,34.7999992371,14.5,12.6000003815,0.6000000238,11.1999998093,8.6999998093,0.1899999976,20,139,NA,NA -"415","394",3,0.9200000167,1.5199999809,6.5999999046,0.5899999738,29.6000003815,4.8000001907,NA,7.4000000954,134,10.3000001907,100.0001983643,0,0.0399999991,5.25,25.3999996185,60.0001983643,387,0.9800000191,16.2000007629,4.4600000381,0.3000000119,2.2699999809,26.2000007629,13.1999998093,89.6999969482,66.3000030518,40,33,19.2000007629,12.1999998093,0.5,11.3000001907,7.9200000763,0.5199999809,29,NA,NA,NA -"416","395",0,0.9800000191,1.0099999905,0.8999999762,0.8600000143,29.1000003815,4,NA,8.8999996185,142,10.8000001907,100.0001983643,0,0.0500000007,7.6799998283,26.2999992371,60.0001983643,256,0.6399999857,17.2000007629,5.0199999809,0.200000003,2.5699999332,31.1000003815,14.6000003815,88.4000015259,79.3000030518,44.4000015259,32.9000015259,10.3999996185,15.6999998093,0.5,12.6999998093,9.6899995804,0.0900000036,40,NA,NA,NA -"417","396",6,1.0499999523,1.3600000143,0.5,1.1599999666,30.2000007629,5.0999999046,104,8.8999996185,141,9.8999996185,89,0,0.0500000007,10.3299999237,30.6000003815,60.0001983643,398,0.5400000215,9.3000001907,3.7100000381,0.400000006,2.5,23.7999992371,11.1999998093,90.5999984741,79.6999969482,33.5999984741,33.2999992371,10.5,12.1000003815,0.400000006,11.3999996185,12.970000267,0.0700000003,NA,NA,68.5,0.6999999881 -"418","397",1,0.8799999952,2.6900000572,1.2999999523,1.2999999523,32.2999992371,5,106,9,139,11.8999996185,100.0001983643,0,0.0299999993,10.1999998093,28.5,60.0001983643,248,0.9200000167,15.3999996185,4.9200000763,0.3000000119,2.5199999809,39.0999984741,15.8999996185,93.9000015259,70.8000030518,46.2000007629,34.4000015259,18.7000007629,13.5,0.200000003,13.8000001907,14.4099998474,0.1899999976,20,NA,NA,NA -"419","398",12,0.9700000286,1.2799999714,1.8999999762,0.3899999857,32,4.3,109,6.6999998093,139,11.8999996185,100.0001983643,0,0.0099999998,3.9900000095,26.7000007629,60,187,0.93,11.1000003815,4.6199998856,0.200000003,2.4,41,14.8000001907,90,69.0999984741,41.5999984741,35.5999984741,22.1000003815,12.8999996185,0.200000003,16.1000003815,5.7800002098,0.1099999994,NA,NA,NA,NA -"420","399",0,1.0700000525,1.4099999666,3.9000000954,0.9300000072,29.7000007629,4.5999999046,105,10,139,8.6999998093,89,0,0.0299999993,6.5300002098,29.8999996185,60.0001983643,411,0.8700000048,16.7000007629,4.2699999809,0.400000006,2.1500000954,14,12.6999998093,90.4000015259,70.5999984741,38.5999984741,32.9000015259,15.1999998093,14.1999998093,0.3000000119,9,9.2600002289,0.3600000143,NA,NA,NA,0.8999999762 -"421","400",1,0.9399999976,1.6699999571,2.4000000954,0.8100000024,30,4.4000000954,104,9.3999996185,139,10.5,100.0001983643,0,0.0399999991,5.8600001335,25.8999996185,60.0001983643,255,0.8299999833,17,4.6599998474,0.200000003,2.3800001144,28.6000003815,14,86.6999969482,68.3000030518,40.4000015259,34.7000007629,19.3999996185,13,0.5,13,8.5900001526,0.2099999934,NA,NA,NA,NA -"422","401",2,1.0800000429,1.8400000334,0.400000006,0.9200000167,31.2000007629,4.6999998093,NA,13.6000003815,139,12.1000003815,89,0,0.0199999996,3.9500000477,30.7000007629,60.0001983643,263,0.9100000262,16,4.8699998856,0.1000000015,2.2799999714,42.0999984741,15.1999998093,90.3000030518,58.5,44,34.5,27.2000007629,13.1000003815,0.3000000119,17.1000003815,6.7600002289,0.0299999993,NA,NA,NA,NA -"423","402",0,0.97,1.71,0.9,0.35,32.1,4.5,104,5.3,137,12.3,100,0,0.03,4.44,26.2,60,178,0.62,11,4.61,0.2,2.4,43.4,14.8,92.2,67.4,42.5,34.8,25.9,14.9,0.5,14.7,6.59,0.06,22,94,NA,NA -"424","403",7,1.1399999857,1.1699999571,0.6000000238,0.4699999988,34,4.0999999046,101,6.6999998093,141,11.3000001907,80,0,0.0199999996,5.2800002098,47.2999992371,48,182,1.4299999475,9.8999996185,4.3800001144,0.1000000015,2.4000000954,35.7999992371,14.8999996185,99.5,75.5999984741,43.5999984741,34.2000007629,16.7999992371,14.3999996185,0.3000000119,14,6.9800000191,0.0399999991,56,116,NA,NA -"425","404",2,0.9900000095,3.1600000858,0.400000006,0.6200000048,35.2999992371,4.5999999046,103,9,137,10.6000003815,100.0001983643,0,0.0299999993,3.0499999523,28.2999992371,60.0001983643,230,0.6600000262,16.6000003815,3.9700000286,0.3000000119,2.6700000763,29.6000003815,14,99.6999969482,44.2999992371,39.5999984741,35.4000015259,45.9000015259,12.8999996185,0.400000006,12.6999998093,6.8899998665,0.0299999993,NA,NA,NA,NA -"426","405",3,1.0800000429,1.5199999809,1.2999999523,0.5500000119,28.7999992371,3.7000000477,NA,5.9000000954,136,10.1999998093,88,0,0.0199999996,7.1799998283,30.6000003815,60.0001983643,196,0.8100000024,14.1000003815,5.0700001717,0.6000000238,2.2999999523,25.5,14.6000003815,82.0999984741,76.4000015259,41.5999984741,35.0999984741,16.2000007629,13.1000003815,0.200000003,11.6999998093,9.3900003433,0.1199999973,20,NA,NA,NA -"427","406",5,1.19,1.46,4.6,0.87,29.2,4.6,104,10.2,139,11,82,0,0.04,5.76,30,52,331,1.35,11.1,3.73,0.5,2.4,33.3,10.9,93.3,67.6,34.8,31.3,17.1,15,0.5,12.4,8.52,0.39,NA,NA,NA,NA -"428","408",11,0.8999999762,2.2200000286,1,0.3600000143,30.7999992371,4.4000000954,103,4.9000000954,142,10.1000003815,100.0001983643,0,0.0399999991,4.6399998665,25.1000003815,60.0001983643,308,0.7599999905,16.7000007629,4.4499998093,0.5,2.4500000477,26.1000003815,13.6999998093,90.0999984741,63.2999992371,40.0999984741,34.2000007629,30.2999992371,12.1999998093,0.5,12,7.3299999237,0.0700000003,NA,NA,NA,NA -"429","409",3,0.9800000191,1.8999999762,0.6999999881,0.8199999928,32.5999984741,4.8000001907,NA,10,141,10.6000003815,100.0001983643,NA,0.0399999991,5.3699998856,33.0999984741,60.0001983643,261,0.8999999762,15.6999998093,4.3499999046,0.1000000015,2.1700000763,30.5,14.1999998093,93.3000030518,65.5999984741,40.5999984741,35,23.2000007629,12.8000001907,0.5,12.6000003815,8.1899995804,0.0599999987,37,NA,NA,NA -"430","410",0,1.1,1.42,1.8,0.6,30.8,4.6,102,7.5,139,10.4,87,0,0.02,5.82,27.1,60,339,0.59,10.1,3.99,0.3,2.4,27.7,12.3,89.2,72.6,35.6,34.6,17.8,13.4,0.3,11.5,8,0.14,NA,NA,12.4,0.9 -"431","411",0,0.8299999833,2.3199999332,0.6000000238,0.5500000119,30,4.9000000954,108,8.6000003815,140,10.6999998093,100.0001983643,0,0.0099999998,3.4900000095,32.5,60.0001983643,250,0.6999999881,15.8999996185,5,0.3000000119,2.2999999523,29.8999996185,15,88,54.4000015259,44,34.0999984741,36.2000007629,13.3999996185,0.200000003,12.6000003815,6.4099998474,0.0399999991,28,NA,NA,NA -"432","412",5,0.8799999952,3.2599999905,1.7999999523,1.1900000572,33.0999984741,4.8000001907,103,10.6999998093,138,12.3000001907,100.0001983643,0,0.0799999982,6.3800001144,26.7000007629,60.0001983643,178,0.7699999809,17.1000003815,5.0700001717,0.5,2.4000000954,43.0999984741,16.7999992371,94.3000030518,57.5,47.7999992371,35.0999984741,29.2999992371,12.8999996185,0.6999999881,15.8999996185,11.1099996567,0.200000003,33,NA,NA,NA -"433","413",0,0.98,2.18,2,0.67,34.4,4.4,106,7.9,137,9.6,100,0,0.04,5.41,25.7,60,325,0.84,10.5,4.22,0.5,2.3,21.2,14.5,93.8,63.9,39.6,36.6,25.7,12.9,0.5,10.7,8.47,0.17,NA,NA,19.4,0.9 -"434","415",7,0.9700000286,1.1000000238,0.5,0.5099999905,30.5,NA,NA,6.3000001907,NA,9.8000001907,100.0001983643,0,0.0099999998,6.4400000572,27.7999992371,NA,302,NA,16.2000007629,4.6300001144,0.1000000015,NA,22.6000003815,14.1000003815,89.8000030518,79.5,41.5999984741,33.9000015259,13.6000003815,13.3999996185,0.1000000015,11,8.1000003815,0.0399999991,NA,NA,NA,NA -"435","415",2,NA,NA,NA,NA,NA,5,107,NA,138,NA,NA,NA,NA,NA,NA,58,NA,1.2300000191,NA,NA,NA,2.2999999523,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"436","416",5,0.9499999881,1.5800000429,2.0999999046,0.3600000143,32.2999992371,5.0999999046,105,6.9000000954,140,11.6999998093,100.0001983643,0,0.0299999993,3.1199998856,28.2000007629,48,144,1.4500000477,10,4.3400001526,0.400000006,2.2000000477,38.5,14,94.5,60,41,34.0999984741,30.3999996185,13.8999996185,0.6000000238,14.8999996185,5.1999998093,0.1099999994,NA,NA,NA,NA -"437","417",0,0.95,3.3,NA,NA,33.8,4.5,104,NA,138,NA,100,NA,NA,5.28,27,60,455,0.86,10.5,4.2,NA,2.6,NA,14.2,94,56.1,39.5,36,35,12.8,NA,NA,9.42,NA,NA,101,NA,NA -"438","418",0,0.9499999881,2.7599999905,2,0.4600000083,29.7999992371,4.0999999046,102,6.5999999046,139,10.6999998093,100.0001983643,0,0.0599999987,3.5799999237,26.8999996185,60.0001983643,306,0.5500000119,15.5,4.1900000572,0.3000000119,2.3499999046,29.2999992371,12.5,88.8000030518,51.0999984741,37.2000007629,33.5999984741,39.4000015259,13.8999996185,0.8999999762,12.1000003815,7,0.1400000006,NA,NA,NA,NA -"439","419",12,NA,NA,NA,NA,NA,4.4,104,NA,141,NA,NA,NA,NA,NA,NA,60,NA,1.19,NA,NA,NA,2.4,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.8 -"440","419",0,1.1900000572,2.0899999142,6.0999999046,0.9900000095,31.3999996185,NA,NA,7.3000001907,NA,9.5,69,0,0.0399999991,9.5900001526,36.7999992371,NA,365,NA,10.1999998093,4.7199997902,0.3000000119,NA,20.2999992371,14.8000001907,91.6999969482,70.9000015259,43.2999992371,34.2000007629,15.3999996185,13.3000001907,0.3000000119,10.8000001907,13.529999733,0.8199999928,NA,NA,NA,NA -"441","420",12,1.02,1.71,1.7,0.42,30.4,3.9,105,6.6,140,9.9,96,0,0.02,4.1,28.8,60,224,0.94,10.6,4.44,0.2,2.4,24.7,13.5,87.8,64.5,39,34.6,26.9,13.9,0.3,11.6,6.36,0.11,NA,NA,NA,NA -"442","421",3,0.9900000095,1.9800000191,0.8999999762,0.349999994,31.3999996185,4.8000001907,NA,5.5,140,11.3000001907,100.0001983643,0,0.0599999987,3.8800001144,28.5,60.0001983643,272,0.8799999952,16.5,4.6500000954,0.5,2.3800001144,36,14.6000003815,91.1999969482,61.4000015259,42.4000015259,34.4000015259,31.2999992371,13.3000001907,0.8999999762,14.3000001907,6.3299999237,0.0599999987,24,NA,NA,NA -"443","422",3,0.9599999785,1.2400000095,1.2999999523,0.7599999905,31,4.9000000954,93,9.6000003815,126,9.1999998093,100.0001983643,0,0.0199999996,5.7800002098,29.2999992371,11,295,5.5999999046,16.5,3.3599998951,0.400000006,2.6400001049,18,10.3999996185,89.3000030518,73.0999984741,30,34.7000007629,15.6999998093,12.3000001907,0.3000000119,9.8999996185,7.9000000954,0.1000000015,NA,NA,1.5,1.2000000477 -"444","423",2,0.96,2.71,3.8,0.56,29.8,5,104,6.6,138,9.8,100,0,0.03,4.86,27.7,60,253,0.72,10.6,4.49,0.4,2.6,22.6,13.4,91.5,57.2,41.1,32.6,32,12.9,0.4,11,8.48,0.32,NA,NA,NA,0.8 -"445","424",1,0.9800000191,2.6600000858,1.7999999523,0.6499999762,34.5999984741,4.1999998093,104,5.5999999046,141,11.1999998093,100.0001983643,0,0.0299999993,7.9600000381,36.5999984741,60.0001983643,387,0.8600000143,9.8999996185,4.5100002289,0.6000000238,2.2000000477,36.0999984741,15.6000003815,100.4000015259,69.1999969482,45.2999992371,34.4000015259,23.1000003815,13.3999996185,0.3000000119,13.5,11.5100002289,0.2099999934,30,NA,NA,NA -"446","425",0,0.9100000262,2.1199998856,0.6000000238,0.6299999952,30.7000007629,5,103,7.5,142,10.8000001907,100.0001983643,0,0.0299999993,5.6199998856,31,60.0001983643,228,0.8500000238,9.8000001907,4.4600000381,0.1000000015,2.4000000954,31.7999992371,13.6999998093,92.1999969482,66.4000015259,41.0999984741,33.2999992371,25.1000003815,13.6000003815,0.400000006,13.5,8.4499998093,0.0500000007,36,114,NA,NA -"447","426",11,0.9399999976,1.4400000572,0.400000006,0.5699999928,33.0999984741,4.0999999046,87,8.1999998093,127,9.6000003815,100.0001983643,0,0.0199999996,4.9200000763,28,60.0001983643,246,0.6299999952,14.6000003815,3.5699999332,0.1000000015,2.4400000572,20,11.8000001907,93.8000030518,70.5,33.5,35.2000007629,20.6000003815,13,0.3000000119,10.3999996185,6.9800000191,0.0299999993,NA,NA,NA,NA -"448","427",0,0.9499999881,1.5599999428,1.8999999762,0.4199999869,30.6000003815,4.6,102,5.4000000954,136,10.8999996185,100.0001983643,0,0.0199999996,5.6999998093,30.2000007629,46,235,1.58,10.6000003815,4.3800001144,0.6000000238,2.4,31.7000007629,13.3999996185,88.0999984741,72.5,38.5999984741,34.7000007629,19.8999996185,12.8000001907,0.3000000119,13.6000003815,7.8499999046,0.150000006,47,133,NA,NA -"449","428",0,1.0099999905,1.5700000525,0.6999999881,0.5899999738,30.1000003815,4.3000001907,NA,7.1999998093,139,10.3999996185,98,0,0.0500000007,5.9200000763,26.8999996185,60.0001983643,198,0.9100000262,16.3999996185,5.2199997902,0.200000003,2.3399999142,28.2999992371,15.6999998093,87.4000015259,72.3000030518,45.5999984741,34.4000015259,19.2000007629,13.5,0.6000000238,12.5,8.1899995804,0.0599999987,22,NA,NA,NA -"450","429",0,0.8600000143,2.3800001144,3.0999999046,0.7699999809,31.7999992371,6.6999998093,NA,11.1999998093,135,9.8000001907,100.0001983643,0,0.1299999952,3.3699998856,27.7999992371,60.0001983643,250,0.8500000238,16.2000007629,5,0.6000000238,2.4100000858,22.6000003815,15.8999996185,93,49.0999984741,46.5,34.2000007629,34.7000007629,14,1.8999999762,11.1999998093,6.8600001335,0.2099999934,33,NA,NA,NA -"451","430",7,NA,2.6199998856,5.3000001907,1.9299999475,33.5999984741,NA,NA,18.6000003815,NA,9.1999998093,NA,0,0.0599999987,5.2399997711,NA,NA,289,NA,NA,3.7200000286,0.3000000119,NA,18,12.5,97.8000030518,50.2999992371,36.4000015259,34.2999992371,25.2000007629,12.8999996185,0.6000000238,9.8999996185,10.3999996185,0.5500000119,NA,NA,66.8000030518,NA -"452","430",10,NA,NA,NA,NA,NA,4,100,NA,138,NA,NA,NA,NA,NA,NA,60.0001983643,NA,0.5199999809,NA,NA,NA,2.2899999619,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,21,NA,NA,0.6999999881 -"453","431",8,0.9599999785,1.6000000238,0.8999999762,0.8799999952,30.6000003815,4.3000001907,105,10.6999998093,142,10.6999998093,100.0001983643,0,0.0799999982,5.5999999046,27.2000007629,60.0001983643,134,0.7900000215,16.8999996185,5.0999999046,1,2.4400000572,31.3999996185,15.6000003815,91.4000015259,68,46.5999984741,33.5,19.3999996185,14.1999998093,1,14.1999998093,8.2299995422,0.0700000003,NA,NA,NA,0.8999999762 -"454","432",3,0.9399999976,0.9200000167,2.2999999523,0.8399999738,32,5.6999998093,NA,17.5,131,10.6000003815,100.0001983643,0,0.0399999991,2.8800001144,30.5,60.0001983643,467,0.6800000072,10.1000003815,4.2199997902,1,2.5,29.5,13.5,92.1999969482,60.2000007629,38.9000015259,34.7000007629,19.2000007629,13.6999998093,0.8000000119,12.3999996185,4.7899999619,0.1099999994,24,NA,NA,NA -"455","433",3,0.91,2.89,2.1,0.79,32.7,4.3,105,8.2,141,NA,100,NA,0.03,5.71,28.4,60,245,0.64,10.6,4.96,NA,2.5,27.5,16.2,92.1,59.4,45.7,35.4,30,14.5,0.3,11.6,9.62,0.2,NA,NA,NA,0.9 -"456","435",3,1.0499999523,1.2200000286,1,0.5400000215,31.6000003815,3.5999999046,100,13.3000001907,136,10.1000003815,92,0,0.0099999998,2.25,29.2999992371,60.0001983643,188,0.8700000048,16.3999996185,4.3400001526,0.200000003,2.3499999046,26,13.6999998093,88.5,55.5,38.4000015259,35.7000007629,30,12,0.200000003,11.8000001907,4.0599999428,0.0399999991,33,NA,1.1000000238,NA -"457","436",3,0.98,1.94,4.3,0.73,31.5,4.8,104,12.5,142,12.2,100,0,0.03,2.87,29.2,60,150,1.1,10.4,4.8,0.2,2.6,42.6,15.1,90.6,49.4,43.5,34.7,33.3,13.6,0.5,14.6,5.82,0.25,26,88,NA,NA -"458","438",3,0.9800000191,1.6599999666,1.3999999762,0.8700000048,31.7000007629,6.4000000954,NA,10.1999998093,131,8.6999998093,100.0001983643,0,0.0700000003,5.7800002098,26,53,319,1.3400000334,17.7000007629,4.5399999619,0.1000000015,2.3499999046,13.3999996185,14.3999996185,94.5,68.0999984741,42.9000015259,33.5999984741,19.5,13,0.8000000119,8.6999998093,8.5,0.1199999973,NA,NA,NA,NA -"459","439",3,1.03,2.68,3.2,1.29,34.4,4.4,97,10.9,133,11,92,0,0.07,7.43,33.7,60,304,0.54,9.8,4.27,0.3,2.6,33.7,14.7,95.3,62.7,40.7,36.1,22.6,13.6,0.6,13.6,11.85,0.38,NA,NA,NA,0.8 -"460","440",3,1.29,0.98,0.3,1.8,28.2,4.5,96,10.6,136,9.5,59,0,0.04,14.14,36.5,60,428,0.97,9.9,3.69,0.9,2.3,20.4,10.4,83.5,83.1,30.8,33.8,5.8,14.7,0.2,10.7,17.01,0.05,NA,NA,168.2,0.9 -"461","441",3,0.9700000286,2.1700000763,1.3999999762,0.7200000286,30,5,101,7.5999999046,138,10.1000003815,100.0001983643,0,0.0299999993,6.3899998665,32.2000007629,60,342,0.87,10.1999998093,4.8699998856,0.3000000119,2.5,25.8999996185,14.6000003815,91.8000030518,67.6999969482,44.7000007629,32.7000007629,23,12.6999998093,0.3000000119,12.1000003815,9.4399995804,0.1299999952,NA,NA,4.2,NA -"462","442",13,0.9599999785,2.3800001144,1.2000000477,0.7900000215,30,3.9000000954,NA,8.6999998093,141,10.3000001907,100.0001983643,0,0.0299999993,5.7399997711,30.2000007629,60.0001983643,277,0.7799999714,15.8000001907,4.9000000954,0.1000000015,2.5399999619,27.3999996185,14.6999998093,88.8000030518,63.5,43.5,33.7999992371,26.2999992371,13.1000003815,0.3000000119,11.8999996185,9.0500001907,0.1099999994,28,NA,NA,NA -"463","444",3,0.89,0.7,NA,NA,33.7,4.3,NA,NA,139,NA,100,NA,NA,3.08,26.8,NA,151,0.85,9.6,4.16,NA,2.4,NA,14,100.4,72.7,41.8,33.5,17.1,15,NA,NA,4.24,NA,NA,105,NA,NA -"464","445",2,NA,1.6699999571,1,0.6899999976,31.7999992371,5,NA,7.0999999046,140,12.5,NA,0,0.0500000007,7.2100000381,NA,NA,198,1.0900000334,NA,4.5900001526,0.3000000119,2.3800001144,43.2999992371,14.6000003815,96.3000030518,74.1999969482,44.2000007629,33,17.2000007629,14.1999998093,0.5,15.8000001907,9.720000267,0.1000000015,41,NA,NA,NA -"465","445",1,1.1100000143,NA,NA,NA,NA,NA,NA,NA,NA,NA,72,NA,NA,NA,45.9000015259,NA,NA,NA,110.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"466","446",1,0.9700000286,2.8099999428,2.5999999046,0.5500000119,30.5,4.1999998093,106,5.4000000954,137,9.6000003815,100.0001983643,0,0.1800000072,6.3200001717,29.1000003815,60.0001983643,203,0.8799999952,16.2000007629,4.8499999046,0.200000003,2.2699999809,21.2999992371,14.8000001907,85.4000015259,62.4000015259,41.4000015259,35.7000007629,27.7999992371,13.6000003815,1.7999999523,10.3999996185,10.1199998856,0.2599999905,NA,NA,NA,0.8000000119 -"467","447",0,0.8999999762,2.1600000858,0.3000000119,0.5899999738,29,4.5,NA,6.3000001907,137,9.5,100.0001983643,0,0.0399999991,6.5300002098,26,60.0001983643,337,0.7799999714,15.8000001907,4.8699998856,0.3000000119,2.5199999809,19.7000007629,14.1000003815,83.5999984741,69.9000015259,40.7000007629,34.5999984741,23.1000003815,13.1000003815,0.400000006,10.5,9.3500003815,0.0299999993,34,NA,NA,NA -"468","449",0,1.0800000429,1.1799999475,1.2999999523,0.6899999976,30,4.0999999046,NA,9.1999998093,142,9.6000003815,88,0,0.0199999996,5.5399999619,30.1000003815,60.0001983643,250,0.8899999857,16.1000003815,5.0599999428,0.400000006,2.3900001049,22,15.1999998093,87,73.5,44,34.5,15.6999998093,13.3999996185,0.3000000119,10.8999996185,7.5300002098,0.1000000015,23,NA,NA,NA -"469","450",12,1.0599999428,3.1700000763,0.8000000119,0.8500000238,33.5,5,NA,7,140,9.3999996185,91,0,0.0500000007,7.9600000381,31.7999992371,60.0001983643,350,0.7400000095,15.5,4.6199998856,0.200000003,2.5099999905,19.1000003815,15.5,94.5999984741,65.6999969482,43.7000007629,35.5,26.1000003815,12.6000003815,0.400000006,10.1999998093,12.1300001144,0.1000000015,23,NA,NA,NA -"470","451",10,NA,1.09,1,1.02,29.9,4.6,NA,9.2,139,10.1,NA,0,0.02,8.8,NA,60,282,0.79,NA,4.85,0.5,2.3,25,14.5,89.5,79.7,43.4,33.4,9.9,13.6,0.2,11.8,11.04,0.11,NA,NA,NA,NA -"471","451",0,NA,NA,NA,NA,NA,NA,100,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,39,78,NA,NA -"472","451",9,2.08,NA,NA,NA,NA,NA,NA,NA,NA,NA,28,NA,NA,NA,47.6,NA,NA,NA,9.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"473","452",0,1,2.0699999332,1.7000000477,0.6200000048,31.3999996185,5.4,108,10.6999998093,146,11.6999998093,99,0,0.0199999996,2.9800000191,29.2999992371,60,221,0.87,10.3999996185,4.9299998283,0.200000003,2.4,38.5999984741,15.5,95.6999969482,51.5,47.2000007629,32.7999992371,35.7999992371,12.8999996185,0.3000000119,14.8000001907,5.7899999619,0.1000000015,30,94,NA,NA -"474","453",14,0.9200000167,2.3199999332,0.6999999881,0.9800000191,33.7999992371,4.6999998093,105,12.1999998093,140,9.3000001907,100.0001983643,0,0.0299999993,4.6599998474,33.5,60.0001983643,351,0.6100000143,16.2000007629,4.4099998474,0.1000000015,2.5,18.7999992371,14.8999996185,97.5,57.9000015259,43,34.7000007629,28.7999992371,12.5,0.400000006,10.3999996185,8.0500001907,0.0599999987,NA,NA,NA,NA -"475","454",0,0.93,1.5,NA,NA,30.1,5.3,NA,NA,142,NA,100,NA,NA,3.69,32.6,NA,252,0.69,11.1,4.48,NA,2.5,NA,13.5,90.2,65.7,40.4,33.4,27.4,13.2,NA,NA,5.62,NA,NA,101,NA,NA -"476","455",0,1.7999999523,1.5900000334,3.5,0.5,36.4000015259,4.0999999046,97,7.3000001907,132,10.5,44,0,0.0500000007,4.4600000381,51.5,60.0001983643,65,0.6600000262,37.4000015259,4.5,0.3000000119,2.1800000668,29,16.3999996185,100.9000015259,65.3000030518,45.4000015259,36.0999984741,23.2000007629,13,0.6999999881,12.8000001907,6.8400001526,0.2399999946,NA,NA,NA,NA -"477","456",0,1.1000000238,1.7999999523,0.6000000238,0.6100000143,35.4000015259,4.5999999046,NA,9.3999996185,131,11.1999998093,86,0,0.0299999993,4,33.9000015259,60.0001983643,225,0.5400000215,15.1000003815,4.1300001144,0.200000003,2.3599998951,34.4000015259,14.6000003815,99.3000030518,61.7000007629,41,35.5999984741,27.7999992371,12.5,0.5,13.5,6.4800000191,0.0399999991,12,NA,NA,NA -"478","457",2,1,1.6000000238,1,2.0799999237,28.7000007629,4.1999998093,94,19.7000007629,130,11.3999996185,100,0,0.0199999996,6.7699999809,34.7999992371,60.0001983643,182,0.9800000191,15.1000003815,3.4100000858,1.7000000477,2.1300001144,36.5,9.8000001907,88,64.0999984741,30,32.7000007629,15.1000003815,16,1,14.3000001907,10.5699996948,0.1000000015,NA,NA,62.7999992371,0.8000000119 -"479","458",3,1.0199999809,1.9400000572,3,0.9200000167,30.7999992371,4.5999999046,107,10.6999998093,141,11,96,0,0.0700000003,5.3699998856,31.5,60.0001983643,188,0.6899999976,16.5,5.0700001717,0.1000000015,2.3499999046,33.4000015259,15.6000003815,91.0999984741,62.7999992371,46.2000007629,33.7999992371,22.7000007629,13.3999996185,0.8000000119,14,8.5600004196,0.2599999905,21,NA,NA,NA -"480","460",9,NA,0.8100000024,3.5999999046,0.6200000048,26.5,NA,NA,20.5,NA,10.6999998093,NA,0,0.0299999993,1.4500000477,NA,NA,283,NA,NA,3.6199998856,1,NA,30.7999992371,9.6000003815,82,48.0999984741,29.7000007629,32.2999992371,26.7999992371,16.2999992371,1,13.3000001907,3.0199999809,0.1099999994,NA,NA,NA,NA -"481","460",13,NA,NA,NA,NA,NA,3.7999999523,NA,NA,136,NA,NA,NA,NA,NA,NA,60.0001983643,NA,1.0399999619,NA,NA,NA,2.3399999142,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,50,NA,NA,NA -"482","460",10,1.1699999571,NA,NA,NA,NA,NA,NA,NA,NA,NA,78,NA,NA,NA,38.7000007629,NA,NA,NA,16,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"483","460",0,NA,NA,NA,NA,NA,NA,101,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.5 -"484","461",1,0.9200000167,2.4300000668,2,1,34.5,5.1999998093,104,10.8000001907,140,10.3999996185,100.0001983643,0,0.0399999991,5.6399998665,34.5,56,318,1.2899999619,10.1999998093,4.5199999809,0.3000000119,2.5,27.2999992371,15.6000003815,98.5,60.7000007629,44.5,35.0999984741,26.1000003815,12.8999996185,0.400000006,11.8000001907,9.3000001907,0.1899999976,29,74,NA,NA -"485","462",3,0.9499999881,2.0099999905,1.6000000238,0.5799999833,29.5,5,104,9.1999998093,138,9.6000003815,100.0001983643,0,0.0500000007,3.5599999428,29.5,60.0001983643,290,0.8199999928,17.7999992371,5.3600001335,0.3000000119,2.4000000954,21.3999996185,15.8000001907,84.9000015259,56.5,45.5,34.7000007629,31.8999996185,12.8999996185,0.8000000119,10.5,6.3000001907,0.1000000015,NA,NA,NA,1 -"486","464",0,0.9599999785,NA,NA,NA,NA,NA,NA,NA,NA,NA,100.0001983643,NA,NA,NA,34,NA,NA,NA,9.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"487","465",5,NA,1.6499999762,1.3999999762,0.7200000286,29.7999992371,4.5,NA,12.3000001907,133,10.3000001907,NA,0,0.0299999993,3.3800001144,NA,60.0001983643,250,0.7900000215,NA,4.3600001335,0.3000000119,2.3299999237,27.3999996185,13,84.9000015259,57.5999984741,37,35.0999984741,28.2000007629,13.5,0.5,12,5.8600001335,0.0799999982,36,NA,NA,NA -"488","465",1,1.5099999905,NA,NA,NA,NA,NA,NA,NA,NA,NA,54,NA,NA,NA,51.9000015259,NA,NA,NA,140.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"489","467",1,1.0399999619,NA,NA,NA,NA,4.5999999046,103,NA,137,NA,93,NA,NA,NA,28.2999992371,60.0001983643,NA,1.2100000381,16.3999996185,NA,NA,2.4000000954,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,44,NA,NA,NA -"490","468",4,0.8700000048,1.5,0.8999999762,0.6399999857,29.1000003815,4.0999999046,NA,9.1999998093,140,10.5,100.0001983643,0,0.0199999996,4.6999998093,30.1000003815,60.0001983643,244,0.6399999857,16,4.8499999046,0.1000000015,2.3199999332,29.5,14.1000003815,84.0999984741,67.9000015259,40.7999992371,34.5999984741,21.7000007629,14,0.3000000119,13.3999996185,6.9200000763,0.0599999987,22,NA,NA,NA -"491","469",2,0.9900000095,1.7999999523,0.3000000119,0.5799999833,32.5,4,NA,9.5,138,10.3999996185,100.0001983643,0,0.0199999996,3.7100000381,26.2000007629,60.0001983643,256,0.8000000119,15.1999998093,3.9700000286,0.200000003,2.4500000477,27.6000003815,12.8999996185,95,60.5,37.7000007629,34.2000007629,29.3999996185,14.8000001907,0.3000000119,11.8000001907,6.1300001144,0.0199999996,36,NA,NA,NA -"492","470",1,1.06,2.16,7.1,0.63,32.6,4.4,106,12.8,140,9.7,87,0,0.05,1.74,31.2,60,222,0.75,10.9,4.45,0.2,2.4,21.9,14.5,92.6,35.3,41.2,35.2,43.8,12,1,11.4,4.93,0.35,23,88,NA,NA -"493","471",9,1.0199999809,1.2300000191,0.400000006,0.7900000215,27.7000007629,4.6999998093,NA,8.8000001907,140,9.3000001907,96,0,0.0199999996,6.8800001144,27.7999992371,60.0001983643,370,1.0499999523,15,4.0799999237,0.200000003,2.2599999905,18.7000007629,11.3000001907,86.8000030518,76.9000015259,35.4000015259,31.8999996185,13.6999998093,17.2000007629,0.200000003,9.8999996185,8.9600000381,0.0399999991,36,NA,NA,NA -"494","472",0,0.98,2.25,2.9,0.69,33.5,4.2,NA,6.4,137,10.9,100,0,0.06,7.41,26,60,294,0.6,10.4,4.39,0.7,2.4,33.8,14.7,97.9,69.1,43,34.2,21,13.5,0.6,13.6,10.72,0.31,17,NA,NA,NA -"495","473",0,1.0399999619,1.1499999762,0.8000000119,0.4099999964,31.6000003815,4.5,104,6.5,140,10.5,94,0,0.0399999991,4.6100001335,27.1000003815,57,286,1.2400000095,17.5,4.9000000954,0.3000000119,2.4000000954,30.2999992371,15.5,90.1999969482,73.6999969482,44.2000007629,35.0999984741,18.3999996185,14,0.6000000238,13.1000003815,6.2600002289,0.0500000007,NA,NA,NA,NA -"496","474",6,0.9700000286,1.2300000191,1.6000000238,0.5699999928,31.8999996185,4.5,106,5.8000001907,137,11.1000003815,100.0001983643,0,0.0399999991,7.75,34.7000007629,60.0001983643,245,0.8700000048,9.8999996185,4.4499998093,0.400000006,2.4000000954,34.2999992371,14.1999998093,92.5999984741,79.5999984741,41.2000007629,34.5,12.6000003815,13.6999998093,0.400000006,14.5,9.75,0.1599999964,NA,NA,NA,NA -"497","475",2,1.09,2.43,6.6,0.82,29.1,5.3,104,8.7,139,10,83,0,0.02,5.49,31.5,60,260,0.86,10.8,5.05,0.3,2.4,25,14.7,87.5,58.6,44.2,33.3,25.9,14,0.2,12,9.38,0.62,NA,NA,NA,1 -"498","476",5,1.0599999428,3.5999999046,0.6000000238,0.5099999905,30.6000003815,4.3000001907,NA,7.3000001907,138,10.8999996185,91,0,0.0799999982,2.7400000095,31.7000007629,60.0001983643,226,0.4499999881,17.7000007629,5.1999998093,0.1000000015,2.4400000572,32.7999992371,15.8999996185,87.5,39.4000015259,45.5,34.9000015259,51.5999984741,14.6000003815,1.1000000238,13.8000001907,6.9699997902,0.0399999991,20,NA,NA,NA -"499","477",0,0.9200000167,1.6499999762,1,0.5600000024,27.7000007629,4.6999998093,NA,7.5999999046,139,10.1999998093,100.0001983643,0,0.0199999996,5.0399999619,30,45,240,1.5299999714,16.7999992371,4.4699997902,0.3000000119,2.4500000477,25.7999992371,12.3999996185,85.9000015259,68.5999984741,38.4000015259,32.2999992371,22.5,15.1000003815,0.3000000119,11.8999996185,7.3400001526,0.0700000003,81,NA,NA,NA -"500","478",0,0.9399999976,1.25,1.2000000477,0.25,30.8999996185,4.1999998093,NA,6.1999998093,142,12.3000001907,100.0001983643,0,0.0199999996,2.4900000095,26.2000007629,51,189,1.1000000238,16,4.3000001907,0.200000003,2.3599998951,44.5999984741,13.3000001907,86.5,61.2999992371,37.2000007629,35.7999992371,30.7999992371,12.8999996185,0.5,16.3999996185,4.0599999428,0.0500000007,NA,NA,NA,NA -"501","479",11,1.1100000143,0.7799999714,0.1000000015,0.6399999857,30.8999996185,3.9000000954,NA,4.5999999046,137,10.6999998093,81,0,0.0099999998,12.4899997711,31.8999996185,44,184,1.5399999619,9.6000003815,5.1799998283,0.400000006,2.5,32.5,16,91.6999969482,89.5999984741,47.5,33.7000007629,5.5999999046,13.1000003815,0.1000000015,13.5,13.9300003052,0.0099999998,NA,NA,NA,NA -"502","479",0,NA,NA,NA,NA,NA,NA,90,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"503","480",1,0.8899999857,2.25,1.7999999523,0.4900000095,32.2999992371,4.4000000954,NA,8.8999996185,141,9.3999996185,100.0001983643,0,0.0299999993,2.6300001144,28.2999992371,60.0001983643,148,0.7699999809,16,4.9800000191,0.200000003,2.5499999523,19.6000003815,16.1000003815,92,47.9000015259,45.7999992371,35.2000007629,40.9000015259,12.5,0.5,10.5,5.5,0.1000000015,40,NA,NA,NA -"504","481",1,1.0599999428,0.9599999785,2.5,0.4600000083,26.6000003815,4.8000001907,NA,8.3000001907,138,10.1999998093,91,0,0.0199999996,3.9900000095,30.7000007629,60.0001983643,225,0.9100000262,16.2999992371,5.2699999809,0.200000003,2.2599999905,26.7999992371,14,80.8000030518,71.5999984741,42.5999984741,32.9000015259,17.2000007629,13,0.400000006,11.8999996185,5.5700001717,0.1400000006,34,NA,NA,NA -"505","483",0,0.96,2.1,NA,NA,26.9,5.3,98,NA,137,NA,100,NA,NA,10.71,29,60,764,0.69,10,4.02,NA,2.5,NA,10.8,85.1,76.3,34.2,31.6,14.9,18.4,NA,NA,14.02,NA,NA,90,NA,NA -"506","484",0,1,1.23,0.2,0.55,31,4.7,105,4.2,140,9.8,99,0,0.02,11.36,28.4,60,321,0.79,9.5,4.9,0.6,2.5,23,15.2,90.6,86.1,44.4,34.2,9.3,14,0.2,11.6,13.18,0.02,NA,NA,NA,0.8 -"507","485",0,0.9700000286,2.1800000668,0.6000000238,0.5299999714,29.5,5.0999999046,101,7.6999998093,138,9.3000001907,100.0001983643,NA,0.0099999998,4.0799999237,31.5,60.0001983643,320,0.8299999833,9.8999996185,4.8800001144,0.3000000119,2.5999999046,19.7000007629,14.3999996185,85.5,59.7000007629,41.7000007629,34.5,31.8999996185,15,0.1000000015,10.1999998093,6.8400001526,0.0399999991,36,99,NA,0.8999999762 -"508","486",0,NA,2.6,NA,NA,29,NA,NA,NA,NA,NA,95,NA,NA,7.15,NA,NA,208,NA,NA,5.35,NA,NA,NA,15.5,85.1,67.4,45.5,34,24.3,15.3,NA,NA,23.86,NA,NA,NA,NA,NA -"509","487",0,1.0199999809,2.0999999046,1.8999999762,0.8100000024,32.7000007629,4.3000001907,104,10.8999996185,141,9.8999996185,96,0,0.0599999987,4.3400001526,30.5,60.0001983643,274,0.7300000191,16.1000003815,4.9200000763,0.3000000119,2.4200000763,23.6000003815,16.1000003815,95.5,58.2000007629,47,34.2999992371,28.2000007629,12.6000003815,0.8000000119,11.1999998093,7.4499998093,0.1400000006,NA,NA,NA,NA -"510","488",1,1.03,1.7,2.5,0.92,31,4.3,104,10.2,138,NA,99,0,0.04,6.14,34.5,60,200,0.53,9.7,4.8,0.3,2.3,33.3,14.9,90.4,68.1,43.4,34.3,18.8,13.4,0.4,12.8,9.03,0.23,NA,NA,NA,0.9 -"511","489",3,1.0399999619,1.3200000525,2.2000000477,0.6100000143,29.7999992371,4.1999998093,100,6.0999999046,139,11.3000001907,94,0,0.0199999996,7.8899998665,32.2000007629,60.0001983643,219,0.7699999809,16.2000007629,3.6199998856,0.200000003,2.3099999428,34.5999984741,10.8000001907,92.8000030518,78.4000015259,33.5999984741,32.0999984741,13.1000003815,14.6999998093,0.200000003,14.3000001907,10.0600004196,0.2199999988,NA,NA,NA,NA -"512","490",0,0.8999999762,1.2999999523,0.6999999881,0.4499999881,28.7999992371,4.6999998093,94,3.2999999523,132,11.5,100.0001983643,0,0.0299999993,11.7100000381,29.7000007629,14,281,3.2899999619,17.2000007629,4.5100002289,0.3000000119,2.4900000095,36.5999984741,13,85.0999984741,86.1999969482,38.4000015259,33.9000015259,9.6000003815,15.3000001907,0.200000003,13.8999996185,13.5900001526,0.1000000015,NA,NA,NA,NA -"513","491",2,0.9300000072,1.9099999666,1.7000000477,0.6100000143,29.2000007629,5.5,NA,6.8000001907,137,10.1999998093,100.0001983643,0,0.0599999987,6.1999998093,32.9000015259,60.0001983643,250,1.0900000334,16.3999996185,4.6900000572,0.200000003,2.4700000286,27.6000003815,13.6999998093,88.0999984741,69.4000015259,41.2999992371,33.2000007629,21.3999996185,16,0.6999999881,11.8999996185,8.9300003052,0.150000006,45,NA,NA,NA -"514","492",0,1.16,1.29,3.9,0.7,29.2,5.5,102,6.3,132,9.8,70,0,0.11,8.59,34.1,57,216,1.29,9.6,4.24,0.5,2.6,23.4,12.4,85.6,77.2,36.3,34.2,11.6,15.8,1,10.5,11.12,0.43,NA,NA,NA,0.9 -"515","493",2,0.99,1.47,2.8,0.49,31,4.8,107,8.6,144,9.7,100,0,0.04,3.53,29.5,54,274,1.07,10.7,4.1,0.2,2.7,21.7,12.7,91,62.1,37.3,34,25.8,13.2,0.7,11.1,5.69,0.16,NA,NA,NA,0.8 -"516","494",1,1.0399999619,1.3600000143,1.7999999523,1.0299999714,32.5,5.0999999046,99,12.3000001907,136,10.1999998093,93,0,0.0199999996,5.8299999237,31.6000003815,60.0001983643,174,0.8000000119,17,5.6999998093,0.6000000238,2.2999999523,28.6000003815,18.5,91.1999969482,69.5,52,35.5999984741,16.2000007629,13.3000001907,0.200000003,13,8.3900003433,0.150000006,14,124,NA,NA -"517","495",2,1,2.1800000668,1.6000000238,0.5799999833,30.2999992371,4.6999998093,NA,7.1999998093,139,11.1999998093,99,0,0.0299999993,5.1799998283,31,60.0001983643,234,0.6399999857,15.1000003815,5.3200001717,0.5,2.4700000286,35.9000015259,16.1000003815,87.8000030518,63.9000015259,46.7000007629,34.5,26.8999996185,13.8999996185,0.400000006,15.1000003815,8.1000003815,0.1299999952,36,NA,NA,NA -"518","496",0,1.0199999809,1.2100000381,1.5,0.4399999976,27.5,4.5,NA,8,138,10.8000001907,97,0,0.0299999993,3.7300000191,31.1000003815,NA,279,NA,16.3999996185,3.9700000286,0.200000003,2.3900001049,30.8999996185,10.8999996185,83.9000015259,68,33.2999992371,32.7000007629,22,13.6000003815,0.5,13.1000003815,5.4899997711,0.0799999982,41,NA,NA,NA -"519","496",13,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,43,NA,1.2200000286,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"520","498",4,1.0499999523,1.0599999428,2.2000000477,0.3300000131,31.2999992371,5,99,5.5999999046,134,10,89,0,0.0599999987,4.3400001526,32.0999984741,60,221,0.92,10.6000003815,4.6300001144,0.200000003,2.4,24.6000003815,14.5,93.6999969482,73.3000030518,43.4000015259,33.4000015259,17.8999996185,13.6000003815,1,11.8000001907,5.9200000763,0.1299999952,NA,NA,NA,0.8 -"521","499",0,0.9200000167,1.1399999857,0.5,0.9800000191,29.8999996185,5.0999999046,NA,10.1999998093,136,11.3000001907,100.0001983643,0,0.0299999993,7.4200000763,28.7000007629,NA,222,0.9599999785,15.6000003815,5.6500000954,0.3000000119,2.3800001144,36.0999984741,16.8999996185,89.1999969482,77.0999984741,50.4000015259,33.5,11.8999996185,15.3999996185,0.3000000119,14.1000003815,9.6199998856,0.0500000007,32,NA,NA,NA -"522","500",3,0.9599999785,1.6299999952,11.3000001907,0.8999999762,33.5,5.4000000954,NA,11.8000001907,137,10.1999998093,100.0001983643,0,0.0900000036,4.1300001144,30.6000003815,60.0001983643,312,0.6600000262,10.1999998093,4.5999999046,0.3000000119,2.5,26,15.3999996185,93.3000030518,54.2999992371,42.9000015259,35.9000015259,21.3999996185,14.1999998093,1.2000000477,11.1999998093,7.6100001335,0.8600000143,12,NA,NA,NA -"523","501",1,1.2799999714,0.4600000083,1.2000000477,0.5500000119,35.2000007629,NA,NA,9.3999996185,NA,10,68,0,0.0099999998,4.7699999809,34.7999992371,NA,73,NA,17,3.2100000381,0.3000000119,NA,25.5,11.3000001907,97.5,81.4000015259,31.2999992371,36.0999984741,7.8000001907,15.3999996185,0.200000003,11.6000003815,5.8600001335,0.0700000003,NA,NA,NA,NA -"524","501",0,NA,NA,NA,NA,NA,4.4000000954,101,NA,133,NA,NA,NA,NA,NA,NA,60.0001983643,NA,1.0099999905,NA,NA,NA,2.2400000095,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,40,NA,NA,NA -"525","502",0,1.04,1.33,2.1,0.86,31,5.2,110,10.4,141,10.3,100,0,0.04,5.84,27,60,273,0.69,10,4.03,0.2,2.5,26,12.5,92.6,70.9,37.3,33.5,16.1,13.4,0.5,11.6,8.24,0.17,NA,NA,NA,NA -"526","503",0,0.8999999762,1.9099999666,1.2999999523,0.2199999988,29.1000003815,4.4000000954,102,4.9000000954,138,10.5,100.0001983643,0,0.0199999996,2.2899999619,28,NA,267,NA,16.2999992371,4.4600000381,0.200000003,2.4200000763,28.3999996185,13,83.9000015259,51,37.4000015259,34.7999992371,42.4000015259,12,0.400000006,11.8000001907,4.5,0.0599999987,NA,NA,NA,0.8999999762 -"527","503",12,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,60.0001983643,NA,0.7699999809,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"528","504",1,1.0800000429,NA,NA,NA,NA,4.5,NA,NA,139,NA,89,0,NA,NA,31.1000003815,60.0001983643,NA,0.9300000072,15.6000003815,NA,NA,2.4000000954,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,30,NA,NA,NA -"529","505",4,1.04,1.35,1.4,0.85,27.5,3.4,96,7.2,141,10.3,90,0,0.03,9.45,33.9,60,259,0.87,9.4,4.04,0.3,1.8,26.4,11.1,87.4,79.7,35.3,31.4,11.4,17.7,0.3,12,11.84,0.16,NA,NA,68.4,0.5 -"530","505",9,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,115,NA,NA -"531","507",6,1.2999999523,1.3300000429,3.0999999046,0.8899999857,30.8999996185,3.2999999523,99,5.9000000954,142,10.3000001907,67,0,0.0599999987,12.220000267,39.0999984741,21,482,2.9700000286,19.6000003815,2.9100000858,2.5,2.2000000477,26.2999992371,9,95.9000015259,81.6999969482,27.8999996185,32.2999992371,8.8999996185,16.2000007629,0.400000006,11.6999998093,14.9600000381,0.4600000083,123,NA,134.1999969482,0.6999999881 -"532","508",1,0.8899999857,NA,NA,NA,NA,NA,NA,NA,NA,NA,100.0001983643,NA,NA,NA,25.2000007629,NA,NA,NA,16,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"533","508",3,NA,0.5099999905,1,0.5699999928,31.3999996185,4.4000000954,NA,6.1999998093,126,9.8000001907,NA,0,0.0199999996,8.0600004196,NA,51,300,1.3899999857,NA,4.0100002289,0.200000003,2.2899999619,22.1000003815,12.6000003815,87,87.0999984741,34.9000015259,36.0999984741,5.5,13.6000003815,0.200000003,10.1999998093,9.25,0.0900000036,112,NA,NA,NA -"534","509",1,1.01,1.77,0.9,0.55,31.4,5.1,105,7,141,12.4,100,0,0.04,5.43,28.9,60,113,1.1,11,4.78,0.3,2.3,45.4,15,92.1,69.1,44,34.1,22.5,12.2,0.5,16.3,7.86,0.07,32,156,NA,NA -"535","511",0,0.9399999976,2.0599999428,3.5999999046,0.9499999881,29.8999996185,4.0999999046,NA,14.1000003815,144,10,100.0001983643,0,0.0399999991,3.4500000477,28.7999992371,60.0001983643,236,0.7699999809,17.1000003815,4.9800000191,0.3000000119,2.4300000668,25.2000007629,14.8999996185,90.4000015259,51.0999984741,45,33.0999984741,30.6000003815,14,0.6000000238,11.6999998093,6.7399997711,0.2399999946,43,NA,NA,NA -"536","512",6,NA,NA,NA,NA,NA,4.6,98,NA,137,NA,NA,NA,NA,NA,NA,60,NA,0.93,NA,NA,NA,2.3,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,155,NA,0.9 -"537","512",1,1.16,1.02,3.1,0.84,24.9,NA,NA,12.8,NA,10.3,70,0,0.05,4.44,54,NA,406,NA,17,3.45,1.1,NA,26.7,8.6,77.1,67.7,26.6,32.3,15.6,16,0.8,11.5,6.55,0.2,NA,NA,NA,NA -"538","512",3,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,126.5,NA -"539","513",3,1,3.5399999619,1.2999999523,0.8199999928,33.4000015259,4.3000001907,106,7.4000000954,140,12.1000003815,99,0,0.0299999993,6.5799999237,27.2999992371,60.0001983643,171,1.0900000334,12,5.1500000954,0.400000006,2.5,42.5,17.2000007629,98.3000030518,59.0999984741,50.5999984741,34,31.8999996185,14.1999998093,0.3000000119,15.6999998093,11.1099996567,0.1400000006,38,101,NA,NA -"540","514",1,1,2.8099999428,0.8000000119,0.7300000191,30.2000007629,4,NA,9.6999998093,138,9.1999998093,100,0,0.0099999998,3.9200000763,26.7000007629,60.0001983643,265,0.75,15.3000001907,4.8000001907,0.400000006,2.2799999714,18.7999992371,14.5,86.6999969482,52.0999984741,41.5999984741,34.9000015259,37.2999992371,13.6999998093,0.1000000015,10.3999996185,7.5300002098,0.0599999987,NA,NA,NA,NA -"541","515",1,0.97,2.06,1.8,0.62,30.3,4.7,107,9.1,137,NA,100,0,0.03,3.98,32,60,218,0.83,11.1,4.85,0.1,2.5,26.7,14.7,88,58.5,42.7,34.4,30.2,12.3,0.4,12.2,6.81,0.12,16,94,NA,0.9 -"542","516",1,1.72,1.54,0.3,0.79,33.2,4,88,11,132,10,41,0,0.03,4.77,36.1,35,236,1.46,11.4,4.82,0.3,2.6,23,16,91.3,66.8,44,36.4,21.5,14,0.4,10.6,7.15,0.02,NA,104,3.3,1 -"543","517",0,0.8399999738,2.7100000381,3.9000000954,0.6700000167,28.7000007629,4.5999999046,NA,8.1000003815,140,9.8000001907,100.0001983643,0,0.1199999973,4.4299998283,27.1000003815,60.0001983643,270,1.1399999857,16.7000007629,5.2899999619,0.400000006,2.3499999046,24.3999996185,15.1999998093,86.1999969482,53.7000007629,45.5999984741,33.2999992371,32.7999992371,13.1000003815,1.5,12.1999998093,8.25,0.3199999928,NA,NA,NA,NA -"544","518",0,0.9200000167,1.8400000334,0.6999999881,0.7099999785,31.7000007629,4.5999999046,NA,9.5,140,9.5,100.0001983643,0,0.0299999993,4.8299999237,28.8999996185,NA,227,0.7200000286,15.3999996185,4.5799999237,0.1000000015,2.4300000668,20.1000003815,14.5,94.3000030518,64.6999969482,43.2000007629,33.5999984741,24.7000007629,13.1000003815,0.400000006,10.6999998093,7.4600000381,0.0500000007,24,NA,NA,NA -"545","519",3,0.9599999785,1.3400000334,1.5,0.3600000143,30.3999996185,5,NA,7.9000000954,141,9.5,100.0001983643,0,0.0099999998,2.7599999905,27.2000007629,60.0001983643,240,0.7599999905,15.3999996185,4.5100002289,0,2.4500000477,20.2999992371,13.6999998093,91.4000015259,60.9000015259,41.2000007629,33.2999992371,29.5,13.3999996185,0.200000003,10.8000001907,4.5399999619,0.0700000003,21,NA,NA,NA -"546","520",6,1.2100000381,1.9400000572,1.1000000238,0.4600000083,31.2999992371,4.6999998093,106,6.9000000954,143,10.6000003815,75,0,0.0299999993,4.1300001144,30.2999992371,60.0001983643,171,1.0299999714,15.3999996185,5.2800002098,0.200000003,2.3800001144,30.1000003815,16.5,91.5,62.2000007629,48.2999992371,34.2000007629,29.2999992371,13.1000003815,0.5,12.8000001907,6.6300001144,0.0700000003,NA,NA,NA,NA -"547","521",10,1.0800000429,1.5,2.5,0.5,31.5,4.5,NA,6.5999999046,139,10.5,88,0,0.0299999993,5.3299999237,33.5,60.0001983643,276,0.6999999881,15.3999996185,4.6999998093,0.3000000119,2.5999999046,29.3999996185,14.8000001907,93.5999984741,70.5999984741,44,33.5999984741,19.8999996185,13,0.400000006,12.1999998093,7.5500001907,0.1899999976,17,NA,NA,NA -"548","522",1,0.9800000191,1.3799999952,0.6000000238,0.4199999869,32.7999992371,4.0999999046,101,5.9000000954,138,9.3999996185,100.0001983643,0,0.0199999996,5.2399997711,32.7999992371,60.0001983643,232,0.6700000167,10.1000003815,4.5799999237,0.400000006,2.4000000954,20.6000003815,15,93.4000015259,73.8000030518,42.7999992371,35,19.3999996185,12.5,0.3000000119,11,7.0999999046,0.0399999991,26,74,NA,NA -"549","523",4,0.9100000262,2.3399999142,1,0.8100000024,30.2999992371,4.9000000954,107,5.5999999046,140,10.8000001907,100.0001983643,0,0.0599999987,11.029999733,28.1000003815,60.0001983643,463,1.1100000143,10.3000001907,4.7600002289,0.400000006,2.2999999523,29.5,14.3999996185,87,76.6999969482,41.4000015259,34.7999992371,16.2999992371,15,0.400000006,12.3000001907,14.3800001144,0.1400000006,35,79,NA,NA -"550","524",0,1.0700000525,1.9099999666,2.2000000477,0.5500000119,28.1000003815,4.0999999046,NA,7.0999999046,140,11.5,90,0,0.0799999982,4.9899997711,29.2999992371,60.0001983643,227,0.9800000191,15.8000001907,5.8000001907,0.1000000015,2.3699998856,38.5,16.2999992371,81.6999969482,64.9000015259,47.4000015259,34.4000015259,24.7999992371,13.3000001907,1,15.3000001907,7.6999998093,0.1700000018,34,NA,NA,NA -"551","525",0,0.9599999785,1.4400000572,1.6000000238,0.3700000048,30.3999996185,4,103,6,138,10.8000001907,100.0001983643,0,0.0199999996,4.2600002289,37.2000007629,60.0001983643,212,0.6899999976,10.3999996185,4.5700001717,0.200000003,2.2999999523,32.9000015259,13.8999996185,90.8000030518,68.8000030518,41.5,33.5,23.2999992371,12.3999996185,0.3000000119,13.1999998093,6.1900000572,0.1000000015,NA,NA,NA,NA -"552","526",5,0.9700000286,2.0799999237,1.1000000238,1.0900000334,31.6000003815,4.9000000954,104,9.6999998093,138,11.1999998093,100.0001983643,0,0.0500000007,7.9499998093,33.4000015259,60.0001983643,260,0.6299999952,9.1999998093,4.6900000572,0.200000003,2.5,34,14.8000001907,91.5,70.4000015259,42.9000015259,34.5,18.3999996185,14,0.400000006,13.6000003815,11.2899999619,0.1199999973,22,112,3,NA -"553","527",1,1.09,1.82,NA,NA,31.1,4.6,106,NA,143,NA,83,NA,NA,3.97,34.5,60,302,0.78,10,4.34,NA,2.4,NA,13.5,93.6,61.5,40.6,33.2,28.1,13.5,NA,NA,6.46,NA,NA,103,NA,NA -"554","528",2,1.18,2.41,0.7,1.07,31,5.5,99,7.5,138,11.6,75,0,0.08,10.57,33.8,60,538,0.87,10.1,3.94,0.2,2.5,38,12.2,98.2,74.3,38.7,31.5,16.9,16.5,0.6,15,14.23,0.1,52,149,NA,NA -"555","528",6,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,10.8,0.8 -"556","529",0,1.2100000381,1.8300000429,2.5,0.6200000048,32.7000007629,4.5999999046,102,9.1999998093,139,10.8000001907,74,0,0.0299999993,4.0700001717,29.7999992371,60.0001983643,210,0.7599999905,15.8000001907,4.6799998283,0.1000000015,2.3299999237,31.2000007629,15.3000001907,94.1999969482,60.7000007629,44.0999984741,34.7000007629,27.2000007629,12.8999996185,0.400000006,12.8000001907,6.7199997902,0.1700000018,NA,NA,1.3999999762,0.8999999762 -"557","530",4,0.9100000262,1.4500000477,1.2999999523,0.4799999893,29.7000007629,3.7999999523,NA,6.0999999046,134,10.1000003815,100.0001983643,0,0.0199999996,5.8400001526,28.5,60.0001983643,376,1.0299999714,14.8000001907,4.3800001144,0.3000000119,2.2999999523,25.2999992371,13,85.1999969482,73.9000015259,37.2999992371,34.9000015259,18.3999996185,13.3999996185,0.3000000119,11.6999998093,7.8899998665,0.1000000015,19,NA,NA,NA -"558","531",0,0.99,1.1,0.5,0.7,32.4,3.7,100,12.8,138,10.1,100,0,0.02,3.61,31.9,60,189,0.97,10.8,4.82,0.4,2.3,25.7,15.6,93.2,66.2,44.9,34.7,20.1,14.1,0.4,11.6,5.46,0.03,31,133,NA,NA -"559","533",0,1.0499999523,1,3.7000000477,0.9100000262,30.2999992371,4.9,106,12.3999996185,141,12.3999996185,89,0,0.0199999996,5.1300001144,27.2000007629,41,142,1.61,10.1999998093,4.5799999237,0.400000006,2.2,43,13.8999996185,96.9000015259,70,44.4000015259,31.2999992371,13.6000003815,14.1999998093,0.3000000119,17.5,7.3299999237,0.2700000107,NA,NA,3.9,1 -"560","534",3,0.9700000286,1.3999999762,1.2000000477,0.7200000286,30,4.8000001907,99,7.3000001907,138,11.1000003815,100.0001983643,0,0.0199999996,7.6300001144,28.5,60.0001983643,279,1.0399999619,9.6999998093,5.2699999809,0.400000006,2.5,34.5999984741,15.8000001907,86.0999984741,77.0999984741,45.4000015259,34.7999992371,14.1999998093,13,0.200000003,14.3999996185,9.8900003433,0.1199999973,49,95,NA,NA -"561","535",9,NA,2.0999999046,0.6000000238,0.5,29.7000007629,4,NA,6.3000001907,140,10,NA,0,0.0299999993,5.3200001717,NA,60.0001983643,353,0.6800000072,NA,4.6199998856,0.3000000119,2.5499999523,24.2000007629,13.6999998093,83.8000030518,66.4000015259,38.7000007629,35.4000015259,26.2999992371,12.8000001907,0.400000006,11.1000003815,8,0.0500000007,26,NA,NA,NA -"562","536",8,0.9499999881,1.3600000143,1.5,0.3799999952,32,4.5,NA,6.5,142,11.8999996185,100.0001983643,0,0.0099999998,4.0300002098,26.1000003815,60.0001983643,208,0.7099999785,17,4.4699997902,0.200000003,2.5,40.7999992371,14.3000001907,93.5,68.5999984741,41.7999992371,34.2000007629,23.2000007629,13.1000003815,0.200000003,15.8000001907,5.8699998856,0.0900000036,34,NA,NA,NA -"563","537",0,1.1,1.93,0.9,0.9,30.2,4,101,9.7,139,NA,98,0,0.07,6.26,31.7,60,262,0.91,9.6,5.49,0.2,2.5,28.9,16.6,85.6,67.7,47,35.3,20.9,12.4,0.8,12.3,9.24,0.08,NA,NA,NA,0.9 -"564","538",1,1.1399999857,2.0299999714,2.7000000477,1.1499999762,28.8999996185,4.3000001907,NA,14.6999998093,134,9.5,81,0,0.0399999991,4.3699998856,32.7999992371,60.0001983643,297,0.6600000262,15.5,3.4600000381,0.3000000119,2.3199999332,20.2999992371,10,87.9000015259,56.0999984741,30.3999996185,32.9000015259,26,18.2999992371,0.5,10.5,7.8000001907,0.2099999934,18,NA,NA,NA -"565","539",0,1.2100000381,1.8999999762,3.5,0.6000000238,28.2000007629,4.5,NA,9.8999996185,137,11,76,0,0.0299999993,3.3099999428,28,NA,230,0.8899999857,16.2999992371,4.3899998665,0.200000003,2.4400000572,33,12.3999996185,86.3000030518,54.7000007629,37.9000015259,32.7000007629,31.3999996185,13.5,0.5,13.3000001907,6.0500001907,0.2099999934,30,NA,NA,NA -"566","540",1,0.9200000167,3.1400001049,0.200000003,0.7200000286,30.8999996185,3.9000000954,105,5.6999998093,140,10.1000003815,100.0001983643,NA,0.0399999991,8.6999998093,32.5999984741,60.0001983643,336,0.5699999928,10.8000001907,4.4299998283,0.200000003,2.4000000954,26,13.6999998093,90.6999969482,68.9000015259,40.2000007629,34.0999984741,24.8999996185,13.6999998093,0.3000000119,10.8000001907,12.6199998856,0.0199999996,27,97,NA,NA -"567","541",1,0.9200000167,3.3099999428,1.2000000477,1.6299999952,33.5999984741,4.5999999046,100,14.1999998093,136,10.3999996185,100.0001983643,0,0.0399999991,6.3600001335,36.5999984741,60.0001983643,316,0.75,16.8999996185,3.9900000095,0.5,2.5,28.1000003815,13.3999996185,97,55.5,38.7000007629,34.5999984741,28.7999992371,13.1999998093,0.3000000119,12.1999998093,11.4799995422,0.1400000006,NA,NA,NA,0.5 -"568","542",3,1.01,2.1,NA,NA,31.7,4.8,103,NA,133,NA,97,NA,NA,5.63,29.1,60,333,0.75,10.5,4.61,NA,2.3,NA,14.6,91.6,66.8,42.2,34.6,24.5,14.4,NA,NA,8.42,NA,NA,166,NA,NA -"569","543",14,1.0199999809,1.2100000381,0.3000000119,0.2300000042,30.2999992371,4.6999998093,102,4,139,10.3999996185,96,0,0.0099999998,4.3000001907,28.6000003815,60.0001983643,234,0.8100000024,16.5,4.5599999428,0.200000003,2.4200000763,28.2999992371,13.8000001907,88.8000030518,74.5,40.5,34.0999984741,21,12.1999998093,0.200000003,11.8999996185,5.7699999809,0.0199999996,27,NA,NA,NA -"570","544",1,1.1599999666,0.9399999976,1.1000000238,0.5699999928,30.8999996185,4.5999999046,97,9.1999998093,135,9.6000003815,79,0,0.0599999987,4.5799999237,46.9000015259,37,311,1.3700000048,14.8999996185,4.3400001526,0.3000000119,2.4000000954,21.2999992371,13.3999996185,91.5,73.5999984741,39.7000007629,33.7999992371,15.1000003815,14.5,1,10.6999998093,6.2199997902,0.0700000003,44,NA,NA,NA -"571","545",3,1.0599999428,1.9199999571,1.8999999762,0.7699999809,31.7999992371,4.8000001907,104,13.1000003815,137,11.1999998093,89,0,0.0099999998,3.0899999142,32.7000007629,60.0001983643,273,0.6999999881,11,4.3400001526,0.200000003,2.2000000477,35.4000015259,13.8000001907,93.8000030518,52.2999992371,40.7000007629,33.9000015259,32.5,16.2999992371,0.200000003,14.3999996185,5.9000000954,0.1099999994,42,112,NA,NA -"572","546",5,0.9900000095,1.9199999571,2.4000000954,1.0599999428,31.7999992371,4.5999999046,104,10.3999996185,137,9.8999996185,100.0001983643,0,0.0299999993,6.9400000572,26.3999996185,47,363,1.4900000095,17.2000007629,3.2400000095,0.200000003,2.2999999523,24,10.3000001907,93.1999969482,68.0999984741,30.2000007629,34.0999984741,18.7999992371,13.6000003815,0.3000000119,11.1000003815,10.1899995804,0.2399999946,NA,NA,6.5999999046,0.8000000119 -"573","546",6,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,68,NA,NA,NA -"574","547",0,0.9499999881,2.1400001049,0.8000000119,0.7699999809,32.4000015259,5,104,8.6999998093,137,11.1999998093,100.0001983643,0,0.0399999991,5.8499999046,34.7000007629,60.0001983643,252,0.9399999976,9.1999998093,4.8800001144,0.200000003,2.4000000954,34.9000015259,15.8000001907,92.4000015259,65.9000015259,45.0999984741,35,24.1000003815,13.3000001907,0.5,13.3999996185,8.8699998856,0.0700000003,30,98,NA,NA -"575","548",3,0.9700000286,2.2799999714,3.7999999523,0.7699999809,33.4000015259,4.5999999046,NA,10.8000001907,138,11.3999996185,100.0001983643,0,0.0399999991,3.7899999619,29.7999992371,60.0001983643,239,0.9300000072,16.2000007629,4.4600000381,0.1000000015,2.4500000477,36.2000007629,14.8999996185,94.8000030518,52.9000015259,42.2999992371,35.2000007629,31.8999996185,12.3999996185,0.6000000238,14.8000001907,7.1500000954,0.2700000107,38,NA,NA,NA -"576","549",0,1.0099999905,1.5499999523,1.7000000477,0.6600000262,31.5,4.8000001907,104,11,140,10.6000003815,99,0,0.0399999991,3.6600000858,29.2999992371,46,279,1.4600000381,16.6000003815,4.4499998093,0.200000003,2.3199999332,29.7000007629,14,92.5999984741,60.7999992371,41.2000007629,34,25.7999992371,13.6999998093,0.6999999881,12.5,6.0100002289,0.1000000015,51,NA,NA,NA -"577","550",0,0.8700000048,1.7100000381,2,0.4799999893,29,4.8000001907,NA,8.1999998093,139,11.3999996185,100.0001983643,0,0.0500000007,3.5,27.2000007629,60.0001983643,268,0.9300000072,17.1000003815,4.8600001335,0.5,2.5099999905,37.5,14.1000003815,86.5999984741,59.7000007629,42.0999984741,33.5,29.2000007629,14.1999998093,0.8999999762,15.6000003815,5.8600001335,0.1199999973,53,NA,NA,NA -"578","551",0,1.14,1.91,2.6,0.06,29.1,4.1,NA,1.7,137,9.8,90,0,0.02,1.37,29,60,246,0.93,10.7,3.85,0.3,2.3,22.8,11.2,85.5,39.7,32.9,34,55.4,14.6,0.6,10.7,3.45,0.09,NA,NA,NA,NA -"579","552",0,0.95,1.4,NA,NA,31.9,4.1,103,NA,138,NA,100,NA,NA,4.21,26.8,60,242,0.9,11.1,4.27,NA,2.3,NA,13.6,88.5,68.6,37.8,36,22.6,12.3,NA,NA,6.14,NA,NA,92,NA,NA -"580","553",0,0.8500000238,1.9400000572,0.6999999881,0.3700000048,30.2000007629,4.4000000954,106,5.3000001907,141,9.6000003815,100.0001983643,0,0.0399999991,4.5199999809,32.4000015259,60.0001983643,303,0.8199999928,10.5,4.4699997902,0.1000000015,2.4000000954,21.1000003815,13.5,91.6999969482,65.4000015259,41,32.9000015259,28,14,0.6000000238,10.6999998093,6.9200000763,0.0500000007,NA,NA,NA,0.8999999762 -"581","554",0,0.9800000191,2.0899999142,1.7999999523,0.8100000024,32.4000015259,5.1999998093,NA,10.5,141,9.3000001907,100.0001983643,0,0.0299999993,4.6300001144,24.2000007629,57,292,0.9800000191,15.6999998093,3.7599999905,0.3000000119,2.4400000572,18.2999992371,12.1999998093,97.0999984741,60.2000007629,36.5,33.4000015259,27.1000003815,13.8000001907,0.400000006,9.8999996185,7.6999998093,0.1400000006,42,NA,NA,NA -"582","555",2,1.31,2,1.6,1.13,29.3,4.5,98,16.3,136,11.4,67,0,0.04,3.64,33.9,60,113,0.99,11.3,4.6,0.1,2.3,36.4,13.5,87.2,52.6,40.1,33.7,28.9,15.7,0.6,15.2,6.92,0.11,NA,NA,NA,0.7 -"583","555",3,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,16,107,NA,NA -"584","556",0,1.0800000429,1.5700000525,4.9000000954,0.6399999857,29.7000007629,5.0999999046,NA,9.1000003815,136,10.1999998093,89,0,0.0399999991,4.4200000763,30.2999992371,60.0001983643,326,1.0299999714,18.3999996185,4.75,1,2.3399999142,25.7999992371,14.1000003815,89.5,63,42.5,33.2000007629,22.3999996185,14.1000003815,0.6000000238,11.6999998093,7.0100002289,0.3400000036,46,NA,NA,NA -"585","557",2,1.0099999905,2.2200000286,0.400000006,0.8799999952,30.2999992371,5,103,9.6000003815,139,11.1000003815,98,0,0.0199999996,6.0399999619,31,60.0001983643,336,1.0199999809,16.2999992371,5.2399997711,0.200000003,2.4800000191,32.9000015259,15.8999996185,90.5999984741,65.6999969482,47.5,33.5,24.1000003815,12.8000001907,0.200000003,13.6999998093,9.1999998093,0.0399999991,NA,NA,6.6999998093,1 -"586","558",2,1.08,1.65,1.2,1.17,29.9,5,104,12,141,13.5,81,0,0.02,6.8,30.5,60,194,0.9,10,5.29,0.2,2.1,53.4,15.8,89.8,69.7,47.5,33.3,16.9,14.1,0.2,20.2,9.76,0.12,NA,NA,9.8,0.8 -"587","559",3,1.0199999809,2.2699999809,2.9000000954,1.0299999714,29.5,4.6999998093,NA,13.5,138,9.1999998093,96,NA,0.0599999987,4.0599999428,30.1000003815,60.0001983643,310,0.7799999714,16,5.1900000572,0.6999999881,2.3599998951,18.8999996185,15.3000001907,85.9000015259,53.0999984741,44.5999984741,34.2999992371,29.7000007629,14.8000001907,0.8000000119,9.8000001907,7.6399998665,0.2199999988,44,NA,NA,NA -"588","561",0,0.9599999785,1.6200000048,1.2000000477,0.8000000119,29.6000003815,3.7999999523,99,8.6000003815,139,11.5,100.0001983643,0,0.0199999996,6.7600002289,32.0999984741,54,247,0.9900000095,15.1999998093,4.6700000763,0.3000000119,2.5199999809,37,13.8000001907,83.9000015259,72.5999984741,39.2000007629,35.2000007629,17.3999996185,14,0.200000003,14.1000003815,9.3100004196,0.1099999994,46,NA,NA,NA -"589","562",4,1,2.5199999809,2.5,0.9100000262,31,4.5,NA,8.5,140,9.8999996185,100.0001983643,0,0.0700000003,6.9400000572,29.7999992371,NA,264,1.2599999905,15.6999998093,5.1999998093,0.200000003,2.5,23.2999992371,16.1000003815,90.5999984741,64.8000030518,47.0999984741,34.2000007629,23.5,13.3000001907,0.6999999881,11.3999996185,10.7100000381,0.2700000107,38,NA,NA,NA -"590","563",0,0.9700000286,NA,NA,NA,NA,4.4000000954,102,NA,136,NA,100.0001983643,NA,NA,NA,27.7999992371,60.0001983643,NA,0.9599999785,10.8999996185,NA,NA,2.2999999523,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.8000000119 -"591","563",13,NA,2.1900000572,2.2000000477,0.5600000024,31.7999992371,NA,NA,8.8000001907,NA,8.8999996185,NA,0,0.0399999991,3.4700000286,NA,NA,310,NA,NA,4.4400000572,0.200000003,NA,15.6999998093,14.1000003815,90.8000030518,54.2000007629,40.2999992371,35,34.2000007629,12.6999998093,0.6000000238,10.1000003815,6.4000000954,0.1400000006,NA,NA,10.1999998093,NA -"592","564",0,1.0800000429,0.9800000191,0.400000006,0.5500000119,32.4000015259,4,103,7,133,9.6000003815,88,0,0.0099999998,6.3299999237,29.6000003815,60.0001983643,297,0.5400000215,16.2000007629,4.0700001717,0.400000006,2.25,20.6000003815,13.1999998093,95.0999984741,80.0999984741,38.7000007629,34.0999984741,12.3999996185,12.6999998093,0.1000000015,10.3000001907,7.9000000954,0.0299999993,NA,NA,NA,NA -"593","565",0,0.8899999857,1.5299999714,1.2999999523,0.6700000167,33.4000015259,4.9000000954,98,8.6999998093,129,10.3999996185,100.0001983643,0.6999999881,0.1599999964,5.1999998093,29.8999996185,60.0001983643,392,0.6200000048,14.6000003815,3.7400000095,0.400000006,2.4000000954,28.2999992371,12.5,91.6999969482,67.9000015259,34.2999992371,36.4000015259,20,13.8000001907,2.0999999046,12,7.6599998474,0.1000000015,NA,NA,1.2999999523,0.8999999762 -"594","566",4,0.9499999881,2.4900000095,3.2999999523,0.8799999952,30.3999996185,5.3000001907,107,9.3000001907,141,11,100.0001983643,0,0.0299999993,5.7600002289,25.1000003815,56,221,1.3200000525,16.6000003815,4.6999998093,0.8000000119,2.4700000286,32.5,14.3000001907,91.5,60.7999992371,43,33.2999992371,26.2999992371,12.8000001907,0.3000000119,13.3999996185,9.470000267,0.3100000024,NA,NA,NA,NA -"595","567",2,1.03,2.34,3.6,0.69,33.1,4.7,98,8.1,135,9.7,100,0,0.07,5.15,34.3,60,348,0.72,9.9,4.35,0.5,2.3,21.6,14.4,95.9,60.2,41.7,34.5,27.3,12.9,0.8,10.6,8.56,0.31,NA,NA,4.7,0.8 -"596","568",2,1.0800000429,1.0499999523,1,0.349999994,32.7999992371,4.9000000954,NA,8.5,138,10.6999998093,83,0,0.0299999993,2.6500000954,34.2000007629,60.0001983643,184,0.8399999738,10.3000001907,4.5799999237,0,2.4000000954,30.7000007629,15,95.1999969482,64.3000030518,43.5999984741,34.4000015259,25.5,12.5,0.6999999881,13.3999996185,4.1199998856,0.0399999991,26,NA,NA,NA -"597","569",3,1.22,1.04,2.8,0.56,30.9,4.6,107,8.8,138,11.1,77,0,0.04,4.53,30.6,60,154,0.83,11.7,4.27,0.6,2.4,34.1,13.2,90.9,71.4,38.8,34,16.4,13.4,0.6,12.9,6.35,0.18,34,89,NA,NA -"598","570",2,1.03,1.42,0.9,0.45,30.1,4.4,103,8.5,137,11.1,91,0,0.01,3.37,27.3,60,153,0.73,10.1,4.55,0.2,2.4,36.3,13.7,87.5,63.6,39.8,34.4,26.8,13.8,0.2,14.4,5.3,0.05,31,98,NA,NA -"599","571",0,0.9700000286,1.9700000286,1.7000000477,0.6499999762,33.7999992371,4.8,93,7.8000001907,128,9.1999998093,100.0001983643,0,0.0099999998,5.5199999809,36.9000015259,60,416,0.58,9.3000001907,4.3200001717,0.1000000015,2.3,17.2999992371,14.6000003815,96.8000030518,66.5999984741,41.7999992371,34.9000015259,23.7999992371,12.6999998093,0.1000000015,9.8999996185,8.2899999619,0.1400000006,NA,NA,NA,NA -"600","572",2,0.9499999881,0.9700000286,0.8000000119,0.5299999714,32.7999992371,4.5,101,6.8000001907,140,10.5,100.0001983643,0,0.0700000003,6.1700000763,31,60.0001983643,291,0.5899999738,11.1000003815,4.3600001335,0.1000000015,2.4000000954,28.3999996185,14.3000001907,95.1999969482,79.0999984741,41.5,34.5,12.3999996185,13.3000001907,0.8999999762,11.8999996185,7.8000001907,0.0599999987,16,99,NA,NA -"601","573",0,0.9800000191,1.6599999666,2.5,0.5400000215,31.7000007629,4.4000000954,103,9.8000001907,137,10.1000003815,100.0001983643,0,0.0500000007,3.1199998856,28.6000003815,60.0001983643,177,0.6600000262,10.5,4.7600002289,0.400000006,2.2999999523,25.7999992371,15.1000003815,90.3000030518,56.7000007629,43,35.0999984741,30.1000003815,13.6999998093,0.8999999762,11.8999996185,5.5100002289,0.1400000006,NA,NA,2,0.8999999762 -"602","574",12,1.0700000525,1.6100000143,2.0999999046,0.6499999762,30.6000003815,4.4000000954,107,7.6999998093,139,12.1000003815,89,0,0.0199999996,6.0300002098,31.6000003815,60.0001983643,292,0.8500000238,15.5,5.2300000191,0.400000006,2.3399999142,42.2000007629,16,91.1999969482,71,47.7000007629,33.5,19,15.3000001907,0.200000003,15.5,8.4899997711,0.1800000072,NA,NA,NA,NA -"603","576",1,1.2599999905,1.7699999809,2.5,0.5600000024,25.7999992371,4,NA,9.1999998093,140,10.5,83,0,0.0500000007,3.5599999428,33.5999984741,60.0001983643,192,0.9300000072,200.0001983643,4.5799999237,0.200000003,2.4900000095,29.7000007629,11.8000001907,81,58.4000015259,37.0999984741,31.7999992371,29.1000003815,17.5,0.8000000119,12.5,6.0900001526,0.150000006,23,NA,NA,NA -"604","577",0,1.08,2.31,1.8,0.48,33.2,5.2,105,9.7,140,12.4,83,0,0.03,2.03,30.4,60,149,0.88,10.5,4.79,0.2,2.5,44,15.9,93.1,41.1,44.6,35.7,46.8,12.4,0.6,15.9,4.94,0.09,32,111,NA,NA -"605","578",0,0.9499999881,1.0900000334,1.1000000238,0.8000000119,30,4.4000000954,104,9.6999998093,140,11.3999996185,100.0001983643,0,0.0299999993,6.2199997902,27.6000003815,60.0001983643,195,0.8999999762,17.7999992371,5.1300001144,0.200000003,2.4900000095,36.7999992371,15.3999996185,86.4000015259,75.5999984741,44.2999992371,34.7999992371,13.1999998093,13.6000003815,0.400000006,14.3000001907,8.2299995422,0.0900000036,NA,NA,NA,NA -"606","579",3,NA,2.1700000763,1,0.8100000024,26.8999996185,4.5,96,8.3000001907,131,11.1999998093,NA,0,0.0500000007,6.6399998665,NA,60.0001983643,356,1.1399999857,NA,5.1700000763,0.3000000119,2.5699999332,35.7999992371,13.8999996185,78.6999969482,68,40.7000007629,34.2000007629,22.2000007629,16,0.5,14.6000003815,9.7700004578,0.1000000015,NA,NA,NA,0.6999999881 -"607","579",2,1.0599999428,NA,NA,NA,NA,NA,NA,NA,NA,NA,91,NA,NA,NA,39.5,NA,NA,NA,20.1000003815,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"608","580",6,1.0900000334,2.4300000668,0.3000000119,2.1600000858,29,3.7000000477,NA,18,136,9.5,87,0,0.0299999993,7.3699998856,40.5,60.0001983643,382,0.6600000262,14.8000001907,4.5500001907,0.3000000119,2.2999999523,20.2999992371,13.1999998093,82.5999984741,61.2999992371,37.5999984741,35.0999984741,20.2000007629,12.6999998093,0.200000003,10.3999996185,12.029999733,0.0399999991,NA,NA,NA,NA -"609","581",9,0.8999999762,1.2599999905,0.8000000119,0.6200000048,29,4.4000000954,103,8.6000003815,139,11.6999998093,100.0001983643,0,0.0199999996,5.2399997711,27.6000003815,59,258,1.2699999809,16.6000003815,5.8000001907,0.3000000119,2.4700000286,39.2999992371,16.7999992371,82.1999969482,72.8000030518,47.7000007629,35.2000007629,17.5,13.6000003815,0.3000000119,15.1000003815,7.1999998093,0.0599999987,NA,NA,NA,NA -"610","582",0,0.96,NA,NA,NA,NA,NA,NA,NA,NA,NA,100,NA,NA,NA,29.4,NA,NA,NA,10.6,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"611","583",2,1.04,2.21,1.7,1.09,31.3,4.8,99,9.5,136,9.4,100,0,0.03,7.95,32.2,60,400,0.57,9.8,4.79,0.3,2.6,18.6,15,92.1,69.2,44.1,34,19.3,13.1,0.3,10,11.48,0.2,25,110,NA,NA -"612","584",0,0.94,1.5,NA,NA,32.4,4.5,101,NA,137,NA,100,NA,NA,6.94,30.8,60,301,0.87,10.6,4.87,NA,2.6,NA,15.8,91.5,75.7,44.6,35.5,16,12.4,NA,NA,9.16,NA,NA,116,NA,NA -"613","585",7,0.9300000072,1.6699999571,1.2000000477,0.3899999857,30.7999992371,4.5999999046,105,6.6999998093,138,12.1999998093,100.0001983643,0,0.0199999996,3.6800000668,27.8999996185,60.0001983643,283,0.6100000143,10,4.1599998474,0.200000003,2.4000000954,44.0999984741,12.8000001907,92.0999984741,63.2000007629,38.2999992371,33.4000015259,28.6000003815,13.6000003815,0.3000000119,16.6000003815,5.8299999237,0.0700000003,31,125,NA,NA -"614","586",3,0.9700000286,0.9900000095,1.6000000238,0.6200000048,33.2999992371,4.8000001907,101,8.3000001907,137,10.3000001907,100.0001983643,0,0.0199999996,5.7199997902,31.2999992371,60.0001983643,202,0.9300000072,15.8999996185,4.2600002289,0.3000000119,2.4000000954,27.2999992371,14.1999998093,97.4000015259,76.5,41.5,34.2000007629,13.3000001907,13.6999998093,0.3000000119,12,7.4699997902,0.1199999973,36,NA,NA,NA -"615","587",0,1,2,3.9000000954,0.3899999857,29.7000007629,3.5999999046,NA,6.9000000954,141,9.6999998093,99,0,0.0199999996,2.9900000095,30.6000003815,60.0001983643,187,0.6600000262,16.1000003815,5.4299998283,0.400000006,2.3699998856,23.2999992371,16.1000003815,85.0999984741,53.2000007629,46.2000007629,34.7999992371,35.5999984741,12.5,0.400000006,11.3999996185,5.6199998856,0.2199999988,37,NA,NA,NA -"616","588",14,1.04,0.96,2,0.61,30.6,4.8,107,12.5,139,10.5,100,0,0.01,3.2,33.5,60,237,0.94,9.7,3.82,0.2,2.3,27.5,11.7,91.4,65.6,34.9,33.5,19.7,13.8,0.2,11.6,4.88,0.1,32,91,NA,NA -"617","588",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.9 -"618","589",3,0.96,2.1,NA,NA,31.8,4.9,NA,NA,134,NA,100,NA,NA,4.02,34.4,NA,254,0.85,10.5,4.84,NA,2.4,NA,15.4,89,56.6,43.1,35.8,29.7,13.8,NA,NA,7.1,NA,NA,106,NA,NA -"619","590",0,0.95,1.3,NA,NA,33.6,4.4,NA,NA,142,NA,100,NA,NA,NA,30.3,NA,137,0.72,10.5,4.35,NA,2.2,NA,14.6,97.5,NA,42.4,34.4,26,NA,NA,NA,5.1,NA,NA,88,NA,NA -"620","591",2,1.0599999428,1.6100000143,1.1000000238,0.7400000095,30.3999996185,5,NA,9.8999996185,140,10.5,91,0,0.0199999996,5.0500001907,27.2000007629,60.0001983643,187,0.9700000286,16,5.3899998665,0.5,2.4600000381,29.5,16.3999996185,87.5999984741,67.1999969482,47.2000007629,34.7000007629,21.5,13.6000003815,0.3000000119,12.6999998093,7.5,0.0799999982,32,NA,NA,NA -"621","592",4,0.99,1.76,0,0.86,28.8,5,102,9.5,136,11.5,100,0,0.03,6.38,28.2,60,272,0.89,10.4,4.69,0.3,2.4,37.2,13.5,87.2,70.7,40.9,33,19.5,13,0.3,14.4,9.03,0,45,97,NA,NA -"622","593",2,1.0199999809,1.5599999428,3.7000000477,0.6700000167,31,4.3000001907,NA,10.8000001907,142,11.5,97,0,0.0700000003,3.7000000477,29.3999996185,60.0001983643,265,0.8100000024,16,5.0599999428,0.5,2.3499999046,36.5999984741,15.6999998093,90.6999969482,59.4000015259,45.9000015259,34.2000007629,25,13.3999996185,1.1000000238,14.6999998093,6.2300000191,0.2300000042,35,NA,NA,NA -"623","594",3,1.1000000238,2.1300001144,1.8999999762,0.6700000167,37.2999992371,4.9000000954,NA,10.6000003815,133,10.1999998093,86,0,0.0399999991,3.3699998856,29.2999992371,60.0001983643,270,0.5500000119,14.6999998093,3.8099999428,0.3000000119,2.3399999142,26.2999992371,14.1999998093,107.5999984741,53.2999992371,41,34.5999984741,33.5999984741,13.6000003815,0.6000000238,11.3000001907,6.3299999237,0.1199999973,15,NA,NA,NA -"624","595",0,1.0499999523,1.2899999619,4,0.8100000024,32.5,4.6999998093,NA,8.8000001907,140,9.6999998093,94,0,0.0500000007,6.6900000572,30,NA,270,1.1299999952,15.1000003815,3.1400001049,1.1000000238,2.2999999523,22.6000003815,10.1999998093,98.0999984741,72.6999969482,30.7999992371,33.0999984741,14,14.1999998093,0.5,10.8999996185,9.2100000381,0.3700000048,32,NA,NA,NA -"625","596",3,0.9700000286,3.0399999619,3,0.8399999738,31.6000003815,5.1999998093,104,9.5,139,10.3000001907,100.0001983643,NA,0.0199999996,4.6999998093,34.5999984741,60.0001983643,234,0.9900000095,20.2999992371,4.1500000954,0.200000003,2.3199999332,27.2000007629,13.1000003815,94.1999969482,53,39.0999984741,33.5,34.2999992371,14.3000001907,0.200000003,11.3999996185,8.8699998856,0.2700000107,42,NA,NA,NA -"626","597",0,0.9900000095,1.3099999428,2,0.400000006,30.1000003815,4.1999998093,103,7.1999998093,139,12,100.0001983643,0,0.0199999996,3.6800000668,28.7999992371,60.0001983643,188,0.6600000262,15.6999998093,5.3099999428,0.400000006,2.4800000191,42.2000007629,16,85.9000015259,66.6999969482,45.5999984741,35.0999984741,23.7000007629,12.6000003815,0.400000006,15.1999998093,5.5199999809,0.1099999994,30,NA,NA,NA -"627","598",3,0.9300000072,1.2300000191,0.200000003,0.4600000083,32.7000007629,4.3000001907,103,8.1000003815,140,11.5,100.0001983643,0,0.0099999998,3.9800000191,31.2999992371,60.0001983643,200,0.8799999952,15.5,4.3699998856,0.400000006,2.4800000191,36.2999992371,14.3000001907,92.9000015259,69.9000015259,40.5999984741,35.2000007629,21.6000003815,13.1999998093,0.200000003,14.3999996185,5.6900000572,0.0099999998,NA,NA,12.8999996185,0.8000000119 -"628","599",14,1.06,2.32,2.3,0.89,29,4.6,103,9.9,140,10.6,86,0,0.09,5.52,31,60,312,0.92,10.2,5.31,0.4,2.5,30.3,15.4,86.6,61.1,46,33.5,25.7,14.1,1,13.7,9.03,0.21,NA,NA,12.6,0.9 -"629","601",2,0.97,1.82,1.8,0.39,32,5.3,104,6.3,142,9.3,100,0,0.02,3.81,28.6,60,327,0.77,9.8,4.35,0.2,2.5,18.3,13.9,96.3,62,41.9,33.2,29.6,14.9,0.3,10.3,6.15,0.11,NA,NA,NA,NA -"630","602",1,1.1399999857,0.9900000095,5.9000000954,0.7599999905,28.8999996185,5.4000000954,93,12.8000001907,133,9,81,0,0.0299999993,3.7999999523,36.7999992371,10,355,5.8699998856,16.3999996185,3.8699998856,0.200000003,2.4000000954,17.5,11.1999998093,86.3000030518,64.0999984741,33.4000015259,33.5,16.7000007629,15.5,0.5,9.8000001907,5.9299998283,0.349999994,94,NA,NA,NA -"631","604",3,1.0099999905,1.2300000191,2.7000000477,0.6100000143,29.3999996185,4.5999999046,99,7.4000000954,136,10.3000001907,98,0,0.0299999993,6.1999998093,28.8999996185,60.0001983643,343,0.7200000286,9.3999996185,4.7699999809,0.1000000015,2.4000000954,26.8999996185,14,84.0999984741,74.6999969482,40.0999984741,34.9000015259,14.8000001907,12.1999998093,0.400000006,11.5,8.2899999619,0.2199999988,NA,NA,NA,0.8000000119 -"632","605",3,1,1.5800000429,0.200000003,0.75,32.2999992371,5,NA,8.1999998093,135,10.3000001907,99,0,0.0799999982,6.7600002289,25.7000007629,60.0001983643,322,0.8500000238,15.8999996185,4.6399998665,0.3000000119,2.3499999046,27.2000007629,15,92.5,73.5,42.9000015259,35,17.2000007629,12.6000003815,0.8999999762,11.5,9.1899995804,0.0199999996,22,NA,NA,NA -"633","606",1,1.0299999714,1.5599999428,1,0.5,31.2000007629,3.4000000954,NA,7.3000001907,132,9.6000003815,96,0,0.0299999993,4.6900000572,28.1000003815,60.0001983643,279,0.8600000143,16.2000007629,3.8800001144,0.3000000119,2.2899999619,20.7000007629,12.1000003815,92.5,68.5,35.9000015259,33.7000007629,22.7999992371,13.6000003815,0.400000006,10.3000001907,6.8499999046,0.0700000003,23,NA,NA,NA -"634","607",6,0.9100000262,0.8299999833,1.2000000477,0.6600000262,26.7999992371,NA,NA,8.1999998093,NA,8.6999998093,100.0001983643,0,0.0299999993,6.4400000572,29.2000007629,NA,356,NA,15.1999998093,4.6700000763,0.200000003,NA,14.5,12.5,79,79.9000015259,36.9000015259,33.9000015259,10.3000001907,14.8000001907,0.400000006,9,8.0600004196,0.1000000015,19,NA,NA,NA -"635","608",3,0.9900000095,2.9500000477,0,1.0700000525,28.8999996185,4.4000000954,104,7.5,138,10.1999998093,100.0001983643,0,0.0799999982,10.1899995804,30.5,60.0001983643,296,0.8000000119,15.5,4.9499998093,0.400000006,2.2999999523,27.3999996185,14.3000001907,83.5999984741,71.3000030518,41.4000015259,34.5,20.6000003815,14.6999998093,0.6000000238,12.1000003815,14.2899999619,0,13,NA,NA,NA -"636","609",2,1.2,2.1,NA,NA,35.5,3.9,102,NA,138,NA,76,NA,NA,4.99,30.3,60,441,0.52,10.2,4.17,NA,2.5,NA,14.8,103.7,62.8,43.2,34.2,26.2,12.6,NA,NA,7.95,NA,NA,80,NA,NA -"637","610",1,0.9499999881,2.2100000381,2.2000000477,0.7200000286,29.6000003815,4.5,103,7.6999998093,140,10.8999996185,100.0001983643,0,0.0199999996,6.25,33.0999984741,43,256,1.2200000286,16.2999992371,4.6300001144,0.200000003,2.4000000954,32.9000015259,13.6999998093,90.6999969482,66.4000015259,42,32.5999984741,23.5,13.6000003815,0.200000003,14.3000001907,9.4099998474,0.2099999934,48,NA,NA,NA -"638","611",0,1.0199999809,1.4700000286,0.200000003,1.3600000143,32.4000015259,4.5999999046,93,12.6000003815,134,11.1000003815,96,0,0.0399999991,7.9400000572,31.8999996185,60.0001983643,502,1.0700000525,16.2999992371,5.1900000572,0.5,2.4000000954,34.2000007629,16.7999992371,89.4000015259,73.1999969482,46.4000015259,36.2000007629,13.6000003815,13,0.400000006,13.6000003815,10.8299999237,0.0199999996,NA,NA,NA,0.8000000119 -"639","612",0,1.1499999762,1,2.4000000954,0.8100000024,30.8999996185,4.9000000954,104,9.3999996185,138,9.8999996185,80,0,0.1199999973,6.4499998093,35.0999984741,60.0001983643,743,0.8600000143,15.8999996185,4.0799999237,0.3000000119,2.2999999523,23.8999996185,12.6000003815,90.1999969482,75.1999969482,36.7999992371,34.2000007629,11.6000003815,14.8999996185,1.3999999762,11.3000001907,8.5900001526,0.2099999934,NA,NA,NA,NA -"640","613",13,0.9700000286,1.1399999857,1.6000000238,0.5899999738,31.7000007629,4.8000001907,NA,9.5,142,9.8999996185,100.0001983643,0,0.0599999987,4.3000001907,27,60.0001983643,320,0.6800000072,15.6999998093,4.5999999046,0.200000003,2.4900000095,23.8999996185,14.6000003815,93.5,69.5,43,34,18.3999996185,12.8999996185,1,11.5,6.1900000572,0.1000000015,NA,NA,NA,NA -"641","614",0,1.0700000525,0.9800000191,2.7000000477,0.7799999714,30.2000007629,4.6,102,10.5,139,11.1000003815,86,0,0.0399999991,5.4200000763,29.2000007629,60,220,1.05,9.6999998093,4.6100001335,0.3000000119,2.3,34.7000007629,13.8999996185,90.5,73.0999984741,41.7000007629,33.2999992371,13.1999998093,13.3000001907,0.5,14.6999998093,7.4200000763,0.200000003,35,79,NA,NA -"642","615",0,1.09,2.23,3,0.76,31.5,4.4,108,8.8,140,NA,100,0,0.05,5.3,27.7,43,252,1.62,10.1,4.29,0.2,2.4,27.7,13.5,92.1,61.7,39.5,34.2,25.9,14.4,0.6,11.9,8.6,0.26,NA,NA,7.4,0.8 -"643","616",1,1.0199999809,2.1900000572,3,0.9300000072,30.6000003815,4.5,NA,6.1999998093,132,9.6000003815,97,0,0.0700000003,11.4799995422,31.2000007629,60.0001983643,432,0.7200000286,14.8000001907,4.1199998856,0.200000003,2.3099999428,21.7000007629,12.6000003815,90.3000030518,75.8000030518,37.2000007629,33.9000015259,14.5,14.1000003815,0.5,10.8000001907,15.1199998856,0.4499999881,9,NA,NA,NA -"644","617",1,1.1399999857,1.7400000095,1.6000000238,1.0099999905,29.6000003815,4.5999999046,NA,10.6999998093,139,9.5,81,0,0.0299999993,6.4899997711,29.7000007629,60.0001983643,307,1.0399999619,15.8000001907,4.7300000191,0.400000006,2.3599998951,21.1000003815,14,86.6999969482,68.9000015259,41,34.0999984741,18.5,14,0.3000000119,11,9.4200000763,0.150000006,41,NA,NA,NA -"645","618",0,0.9200000167,2.0299999714,2.4000000954,0.5600000024,30.1000003815,4.6999998093,102,6.4000000954,140,10.8000001907,100.0001983643,0,0.0199999996,5.8699998856,32.5,60.0001983643,263,0.8899999857,9.8999996185,5.2199997902,0.200000003,2.4000000954,33,15.6999998093,86.5999984741,67.5999984741,45.2000007629,34.7000007629,23.3999996185,12.3000001907,0.200000003,14.5,8.6899995804,0.2099999934,38,108,NA,NA -"646","619",11,0.9499999881,1.8099999428,0.200000003,0.8000000119,31.3999996185,4.6999998093,98,9.5,129,9,100.0001983643,0,0.0299999993,5.7199997902,32.5999984741,60.0001983643,422,0.6000000238,14.1000003815,4.4200000763,0.200000003,2.25,15.1999998093,13.8999996185,91.1999969482,68.3000030518,40.2999992371,34.5,21.6000003815,12.6000003815,0.400000006,9.3999996185,8.3800001144,0.0199999996,NA,NA,NA,NA -"647","620",13,1.02,1.57,1.8,0.48,31.3,4.2,105,10.8,139,10.3,100,0,0.02,2.29,34.4,60,226,0.71,10.4,4.19,0.2,2.4,26.6,13.1,92.1,51.5,38.6,33.9,35.4,12.3,0.5,11.8,4.44,0.08,NA,NA,NA,NA -"648","621",0,1.0700000525,1.4600000381,2,0.400000006,29,4.0999999046,NA,5.0999999046,139,9.8000001907,89,0,0.0199999996,5.8200001717,29.7999992371,60.0001983643,166,0.6899999976,16.1000003815,4.8000001907,0.1000000015,2.2300000191,23.5,13.8999996185,86.9000015259,74,41.7000007629,33.2999992371,18.6000003815,14.5,0.3000000119,10.8000001907,7.8600001335,0.1599999964,25,NA,NA,NA -"649","622",0,0.86,2.34,1.2,0.88,33.1,4.6,97,8,137,NA,100,0,0.03,7.59,30.1,60,175,0.66,10.3,5.17,0.1,2.5,33.6,17.1,91.7,69.2,47.4,36.1,21.3,12.1,0.3,14.2,10.97,0.13,NA,NA,NA,0.9 -"650","623",0,0.9900000095,1.5700000525,1.3999999762,0.5699999928,29.8999996185,4.3,104,9.8000001907,141,11.1000003815,100.0001983643,0,0.0500000007,3.5299999714,27.7999992371,60,314,1.03,11,5.4499998093,0.200000003,2.5,34.9000015259,16.2999992371,85.0999984741,60.7999992371,46.4000015259,35.0999984741,27.1000003815,12,0.8999999762,13.1999998093,5.8000001907,0.0799999982,32,69,NA,NA -"651","624",5,0.97,2.46,1.9,0.73,35.3,4.8,99,7.7,138,11,100,0,0.05,6.1,32,60,209,0.67,9.5,4.65,0.2,2.4,32.7,16.4,99.6,64.1,46.3,35.4,25.8,14.2,0.5,14,9.52,0.18,28,94,NA,NA -"652","625",3,1.0299999714,0.8299999833,0,0.7900000215,31,4.3,99,7.8000001907,136,9,94,0,0.0399999991,8.4300003052,33.2000007629,60,297,0.83,9.8999996185,4.3200001717,0.200000003,2.9,15.6000003815,13.3999996185,95.0999984741,83.5999984741,41.0999984741,32.5999984741,8.1999998093,15.8000001907,0.400000006,9.5,10.0900001526,0,NA,NA,NA,0.9 -"653","627",0,0.9900000095,1.8700000048,2.2999999523,0.6999999881,32.2999992371,4.3000001907,106,6.3000001907,137,10.1999998093,100.0001983643,NA,0.0500000007,8.3000001907,38.0999984741,60.0001983643,260,1.1100000143,10.5,4.6100001335,0.3000000119,2.5,26,14.8999996185,91.3000030518,74.3000030518,42.0999984741,35.4000015259,16.7000007629,14,0.400000006,11.3999996185,11.1800003052,0.2599999905,24,115,NA,NA -"654","629",5,0.9100000262,1.8999999762,0,0.5400000215,35.0999984741,4.5999999046,103,7.1999998093,139,10.1000003815,100.0001983643,0,0.0199999996,5,30,60.0001983643,215,0.4600000083,15.8999996185,4.7899999619,0.1000000015,2.4300000668,24.7000007629,16.7999992371,99.1999969482,67,47.5,35.4000015259,25.5,14.1000003815,0.3000000119,11.5,7.4600000381,0,8,NA,NA,NA -"655","630",1,1.58,1.06,1.2,0.44,32.2,5.2,104,13.4,138,9.7,42,0,0.04,1.72,40.7,60,147,0.87,9.9,4.57,0.3,2.2,22.3,14.7,91.7,52.5,41.9,35.1,32.3,13.3,0.6,11.1,3.28,0.04,43,124,NA,NA -"656","630",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1,0.7 -"657","631",3,1.0700000525,1.6399999857,1.6000000238,0.7300000191,32.7999992371,4.3000001907,NA,9.8999996185,139,11.1000003815,89,0,0.0299999993,4.8499999046,29.1000003815,60.0001983643,279,0.75,15.6999998093,4.1199998856,0,2.5299999714,34.2000007629,13.5,96.8000030518,65.8000030518,39.9000015259,33.7999992371,22.2999992371,13.8000001907,0.400000006,13.1999998093,7.3699998856,0.1199999973,20,NA,NA,NA -"658","632",3,0.8799999952,2.0099999905,2.2000000477,0.4600000083,29.7999992371,4.8000001907,102,6.6999998093,139,12.1000003815,100.0001983643,0,0.0599999987,4.1700000763,27.1000003815,60.0001983643,275,0.9900000095,16.2999992371,4.8600001335,0.1000000015,2.5199999809,43.4000015259,14.5,86.4000015259,60.9000015259,42,34.5,29.2999992371,13.5,0.8999999762,17,6.8499999046,0.150000006,37,NA,NA,NA -"659","633",1,1.03,1.92,0.6,0.72,30.7,3.9,104,4.4,140,NA,94,NA,0.04,13.69,33.1,NA,193,NA,10,5.15,NA,2.3,29.4,15.8,90.7,83.1,46.7,33.8,11.7,13.6,0.2,12.5,16.47,0.1,NA,NA,5.4,0.7 -"660","633",14,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,60,NA,0.57,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"661","634",9,NA,1.6,5,NA,30.1,NA,NA,8,NA,NA,NA,NA,NA,3.6,NA,NA,1106,NA,NA,3.59,NA,NA,NA,10.8,89.5,61.2,32.1,33.6,26.5,13.3,1,NA,5.87,NA,NA,NA,NA,NA -"662","635",0,0.9700000286,2.1700000763,2.5999999046,0.3799999952,29.2000007629,3.7000000477,104,5.6999998093,137,9.1999998093,100.0001983643,0,0.0500000007,3.8699998856,28.2999992371,60.0001983643,233,0.9900000095,16.3999996185,5.2800002098,0.200000003,2.3499999046,19.2000007629,15.3999996185,82.1999969482,58.2000007629,43.4000015259,35.5,32.7000007629,13.8000001907,0.8000000119,10.3999996185,6.6399998665,0.1700000018,NA,NA,NA,NA -"663","636",0,1.02,2.53,0.3,0.6,31.6,3.8,97,6.8,136,9.8,94,0,0.04,5.6,27.8,60,216,0.95,10.3,4.87,0.1,2.5,22.4,15.4,87.7,63.6,42.7,36.1,28.8,12.3,0.5,10.6,8.8,0.03,38,114,NA,NA -"664","637",0,0.9800000191,1.7200000286,1.2999999523,0.3199999928,29.1000003815,4.6999998093,NA,4.6999998093,140,9.6999998093,100.0001983643,0,0.0399999991,4.6300001144,32.5,60.0001983643,269,0.8199999928,15.3999996185,4.5,0.1000000015,2.3299999237,22.6000003815,13.1000003815,84.1999969482,68.0999984741,37.9000015259,34.5999984741,25.2999992371,13.1999998093,0.6000000238,11.3000001907,6.8000001907,0.0900000036,NA,NA,NA,NA -"665","638",6,1.1100000143,0.5199999809,2,0.5199999809,29.8999996185,5,109,8.1999998093,141,10.1000003815,79,2.2999999523,0.0199999996,5.1599998474,40.2000007629,60,239,0.87,10.3000001907,4.8899998665,0.3000000119,2.4,25.8999996185,14.6000003815,89.4000015259,81.3000030518,43.7000007629,33.4000015259,8.1999998093,13.6000003815,0.3000000119,11.6999998093,6.3499999046,0.1299999952,NA,NA,NA,NA -"666","639",0,0.9399999976,2.3800001144,2,0.6399999857,31.3999996185,4.5999999046,101,6.9000000954,136,13.1000003815,100.0001983643,0,0.0399999991,6.0500001907,31.2000007629,60.0001983643,190,0.6700000167,10.6000003815,4.8699998856,0.3000000119,2.2999999523,49.7000007629,15.3000001907,90.5999984741,65.0999984741,44.0999984741,34.7000007629,25.6000003815,13.3000001907,0.400000006,19.1000003815,9.3000001907,0.1899999976,NA,NA,NA,NA -"667","640",10,1.0099999905,1.3999999762,1.2999999523,0.8799999952,32.2000007629,5.5999999046,100,12.3999996185,134,11.1999998093,98,0,0.0199999996,4.6900000572,32,60.0001983643,234,0.6399999857,15.8000001907,4.4099998474,0.1000000015,2.2000000477,34.9000015259,14.1999998093,94.0999984741,66.1999969482,41.5,34.2000007629,19.7999992371,13.5,0.3000000119,13.8999996185,7.0799999237,0.0900000036,NA,NA,NA,1 -"668","641",13,1.04,1.38,0.1,0.33,30.7,4.1,103,4.7,140,11.3,91,0,0.01,5.36,30.1,60,182,0.96,11,5.28,0.1,2.5,35.4,16.2,86.2,75.6,45.5,35.6,19.5,13,0.1,14,7.09,0.01,NA,NA,NA,NA -"669","643",10,1.0700000525,2.4800000191,2.2000000477,0.5600000024,30.2999992371,4.3000001907,104,7.6999998093,138,13.3000001907,89,0,0.0299999993,4.0599999428,32.4000015259,60.0001983643,127,1.0900000334,11.3999996185,4.6500000954,0.1000000015,2.2000000477,52.0999984741,14.1000003815,87.3000030518,55.7000007629,40.5999984741,34.7000007629,34,14.6999998093,0.400000006,19.3999996185,7.2899999619,0.1599999964,34,123,NA,NA -"670","645",1,0.9700000286,1.1799999475,0.8999999762,0.6700000167,31,5,99,6.0999999046,135,8.6000003815,100.0001983643,0,0.0900000036,9.029999733,28.2000007629,60.0001983643,840,0.7799999714,9.5,3.3199999332,0.3000000119,2.5,14.1999998093,10.3000001907,93.4000015259,81.5,31,33.2000007629,10.6999998093,15,0.8000000119,9.1999998093,11.0699996948,0.1000000015,34,93,NA,NA -"671","646",1,1.07,1.79,6.5,0.84,31,4.7,105,10.4,136,NA,87,0,0.05,4.85,33.4,60,180,0.91,10.3,4.67,0.4,2.3,32.3,14.5,88.4,60.3,41.3,35.1,22.2,13.7,0.6,12.4,8.05,0.52,NA,NA,NA,0.8 -"672","647",0,0.9599999785,1.7599999905,1.7999999523,0.6000000238,32.2000007629,4.6999998093,101,5.1999998093,136,10.6000003815,100.0001983643,0,0.0799999982,8.8999996185,34.4000015259,60.0001983643,245,0.8600000143,16,4.7800002098,0.200000003,2.5399999619,29.5,15.3999996185,89.3000030518,77.0999984741,42.7000007629,36.0999984741,15.1999998093,12.6000003815,0.6999999881,12.6999998093,11.5500001907,0.2099999934,29,NA,NA,NA -"673","648",2,0.9700000286,1.3400000334,0.8000000119,0.5299999714,33.7999992371,5.4000000954,91,4.5999999046,128,10.1000003815,100.0001983643,0,0.0500000007,9.3900003433,31.6000003815,7,298,7.8299999237,8.8999996185,3.3699998856,0.200000003,2.4000000954,24.3999996185,11.3999996185,99.0999984741,82.4000015259,33.4000015259,34.0999984741,11.8000001907,14.8999996185,0.400000006,11.1000003815,11.3999996185,0.0900000036,42,90,NA,NA -"674","652",2,1.04,2.46,2.8,0.92,33,4.7,104,12.8,139,10.1,91,0,0.03,3.58,26.2,60,346,0.75,10.2,4.48,1.3,2.5,25.9,14.8,96.7,49.8,43.3,34.2,34.2,13.1,0.4,11.5,7.19,0.2,NA,NA,NA,NA -"675","653",0,1.05,2.6,NA,NA,29.7,4.6,105,NA,138,NA,100,NA,NA,5.24,30.8,60,315,0.82,10.6,4.41,NA,2.5,NA,13.1,87.7,58.1,38.7,33.9,29.3,16.5,NA,NA,9.01,NA,NA,100,NA,NA -"676","654",2,1.11,2.87,4.8,0.81,30.7,6.2,102,7.7,140,NA,83,0,0.03,6.31,34.9,60,216,1.07,10.7,5.74,0.4,2.6,35.3,17.6,88.9,59.9,51,34.5,27.3,12.8,0.3,14.1,10.53,0.51,NA,NA,NA,0.8 -"677","655",14,0.9200000167,0.9100000262,0.6999999881,0.9200000167,30.2000007629,4.4000000954,104,12.3000001907,138,9.6000003815,100.0001983643,0,0.0299999993,5.5599999428,28.5,60.0001983643,279,1.1399999857,15.6999998093,4.0999999046,0.400000006,2.2999999523,20.5,12.3999996185,88.5,74.4000015259,36.2999992371,34.2000007629,12.1999998093,13.1999998093,0.400000006,10.3000001907,7.4699997902,0.0500000007,45,NA,NA,NA -"678","655",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,106,NA,NA -"679","657",3,0.8799999952,3.6099998951,0.8000000119,0.6299999952,34.7999992371,4.3000001907,104,7.9000000954,140,10.6000003815,100.0001983643,0,0.0099999998,3.6600000858,34.9000015259,60.0001983643,201,0.9499999881,10.8000001907,4.3099999428,0.3000000119,2.5,31.2000007629,15,99.0999984741,45.9000015259,42.7000007629,35.0999984741,45.2999992371,13,0.1000000015,13.3000001907,7.9699997902,0.0599999987,21,NA,NA,NA -"680","658",0,1.0900000334,2.0399999619,2.2000000477,0.6399999857,30,4,103,10.1000003815,139,11.1999998093,87,0,0.0199999996,3.4900000095,29.8999996185,60.0001983643,251,0.7699999809,16.2999992371,4.8299999237,0.200000003,2.4200000763,35.7000007629,14.5,87.8000030518,55.2000007629,42.4000015259,34.2000007629,32.2000007629,13.6999998093,0.3000000119,13.8999996185,6.3299999237,0.1400000006,NA,NA,NA,NA -"681","659",6,NA,0.9499999881,1.6000000238,0.8700000048,31.6000003815,4.3000001907,92,12.5,125,11.6999998093,NA,0,0.0399999991,4.9899997711,NA,60.0001983643,246,0.5699999928,NA,3.9300000668,0.1000000015,2.2000000477,38.7999992371,12.3999996185,90.5999984741,71.6999969482,35.5999984741,34.7999992371,13.6000003815,12.5,0.6000000238,14.3000001907,6.9600000381,0.1099999994,NA,NA,39.7000007629,0.8000000119 -"682","659",12,1.0299999714,NA,NA,NA,NA,NA,NA,NA,NA,NA,95,NA,NA,NA,35.5999984741,NA,NA,NA,14.1000003815,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,19,111,NA,NA -"683","660",0,0.8799999952,2.0099999905,2.9000000954,0.400000006,32.0999984741,4.5999999046,103,7.1999998093,140,10.1999998093,100.0001983643,0,0.0299999993,2.9400000572,32.5999984741,60.0001983643,361,0.6299999952,10.3000001907,4.6399998665,0.200000003,2.4000000954,25.8999996185,14.8999996185,93.0999984741,53.0999984741,43.2000007629,34.5,36.2999992371,13.1000003815,0.5,11.6999998093,5.5399999619,0.1599999964,21,79,2.5999999046,NA -"684","662",0,0.9800000191,1.4199999571,5.6999998093,0.3700000048,27.8999996185,4.5999999046,106,5,139,10.6000003815,100.0001983643,0,0.0700000003,5.0500001907,30.1000003815,60.0001983643,199,1.0900000334,15.8999996185,5.0599999428,0.1000000015,2.3299999237,30.1000003815,14.1000003815,83.1999969482,68.9000015259,42.0999984741,33.5,19.3999996185,13.8999996185,1,13.3000001907,7.3299999237,0.4199999869,NA,NA,NA,NA -"685","663",1,1.01,1.57,2.6,0.7,26.1,5.3,102,8.7,137,10.5,98,0,0.08,5.48,32.5,60,340,1.1,10.3,5.4,0.2,2.4,30.5,14.1,79.8,68.2,43.1,32.7,19.5,14.6,1,13.1,8.04,0.21,NA,NA,NA,NA -"686","664",0,1.0299999714,1.5900000334,4.1999998093,0.5199999809,29.8999996185,4.5,98,6.8000001907,137,10,95,0,0.0299999993,5.1799998283,31.3999996185,60.0001983643,306,0.7599999905,16.2000007629,4.8499999046,0.1000000015,2.4300000668,25.2000007629,14.5,89.0999984741,67.8000030518,43.2000007629,33.5999984741,20.7999992371,12.5,0.400000006,12,7.6399998665,0.3199999928,NA,NA,NA,NA -"687","665",0,1.1,2,NA,NA,31.6,4.9,104,NA,137,NA,80,NA,NA,6.92,37.1,60,318,0.92,10.3,4.15,NA,2.4,NA,13.1,90.6,69.9,37.6,34.8,20.6,13.2,NA,NA,9.9,NA,NA,83,NA,NA -"688","666",3,1.0800000429,1.6599999666,0.5,1.0599999428,34.2999992371,4.5,NA,8.8000001907,141,10.8999996185,88,0,0.0500000007,9.1999998093,30,60.0001983643,247,0.6200000048,16.3999996185,4.9899997711,0.200000003,2.2599999905,32.5999984741,17.1000003815,98,76.5,48.9000015259,35,13.8000001907,13,0.400000006,13,12.029999733,0.0599999987,8,NA,NA,NA -"689","667",1,0.8999999762,2.0199999809,1.1000000238,0.4399999976,30.3999996185,4,107,6.6999998093,140,11,100.0001983643,0,0.0199999996,4.0300002098,38,60.0001983643,213,0.5899999738,10.3999996185,4.6399998665,0.200000003,2.4000000954,32.9000015259,14.1000003815,89.4000015259,61.2000007629,41.5,34,30.7000007629,13.6999998093,0.3000000119,13.1000003815,6.5799999237,0.0700000003,21,97,NA,NA -"690","669",0,0.8999999762,2.7999999523,5.4000000954,0.5699999928,31.5,4.4000000954,100,8.8000001907,140,9.8000001907,100.0001983643,0,0.0700000003,2.7100000381,27.7999992371,60.0001983643,229,1.0099999905,10.6000003815,5.3899998665,0.3000000119,2.5999999046,23.2000007629,17,87.9000015259,41.5999984741,47.4000015259,35.9000015259,43.0999984741,12.1000003815,1.1000000238,11.5,6.5,0.349999994,NA,NA,NA,NA -"691","670",0,0.9100000262,1.8200000525,1.1000000238,0.5099999905,31.2999992371,4.5999999046,98,6.6999998093,136,12.1000003815,100.0001983643,0,0.0299999993,5.1500000954,30.3999996185,60.0001983643,188,0.9300000072,15.6000003815,4.9600000381,0.5,2.4300000668,41.5,15.5,92.6999969482,67.8000030518,46,33.7000007629,24,12.3999996185,0.400000006,15.6000003815,7.5900001526,0.0799999982,NA,NA,NA,NA -"692","671",0,0.9700000286,1.2599999905,0.6999999881,0.3000000119,29.2000007629,4.4000000954,105,4.9000000954,136,9.1999998093,100.0001983643,0,0.0099999998,4.5199999809,27.2000007629,60.0001983643,174,0.6899999976,15.1000003815,4.9699997902,0.3000000119,2.25,17.7999992371,14.5,85.3000030518,73.5999984741,42.4000015259,34.2000007629,20.6000003815,14,0.200000003,9.8999996185,6.1300001144,0.0399999991,24,NA,NA,NA -"693","672",0,0.9700000286,1.7400000095,0.8999999762,0.4799999893,35.4000015259,4.5999999046,NA,5.5999999046,138,10.3000001907,100.0001983643,0,0.0700000003,6.2300000191,27.8999996185,60.0001983643,209,0.6800000072,18.3999996185,4.7800002098,0.6000000238,2.3699998856,27.1000003815,16.8999996185,97.6999969482,72.5,46.7000007629,36.2000007629,20.2000007629,12.3000001907,0.8000000119,11.6999998093,8.6000003815,0.0799999982,20,NA,NA,NA -"694","673",6,1.05,1.32,2.2,0.97,32.3,4.2,98,11.5,135,NA,91,0,0.05,5.94,31.7,60,187,0.45,9.4,4.46,0.2,2.3,38.1,14.4,90.1,70.1,40.2,35.8,15.6,13,0.6,15.1,8.47,0.19,NA,NA,NA,NA -"695","674",3,1.1000000238,1.3200000525,0.6000000238,0.6200000048,31.5,4.4000000954,103,7.8000001907,141,10.3000001907,85,0,0.0099999998,6,28.7000007629,60.0001983643,135,0.9399999976,15.3999996185,4.2600002289,0.3000000119,2.5199999809,27,13.3999996185,90.8000030518,75,38.7000007629,34.5999984741,16.5,13.1999998093,0.1000000015,11.8999996185,8,0.0500000007,NA,NA,NA,NA -"696","675",7,1.11,1.61,1.4,1.52,32.9,4.9,95,12.8,134,10.8,96,0,0.02,8.57,33.1,60,352,0.92,10.4,4.07,0.2,2.4,30.5,13.4,97.5,72.1,39.7,33.8,13.5,12.4,0.2,11.9,11.89,0.17,NA,NA,23.3,0.6 -"697","676",0,0.8899999857,0.6499999762,3.7999999523,NA,29.3999996185,4.6999998093,109,4.3000001907,141,9.3999996185,NA,0,NA,NA,NA,60.0001983643,189,0.7200000286,17.7999992371,NA,0.200000003,2.5799999237,NA,14.6999998093,NA,NA,NA,35.0999984741,10.6999998093,NA,0.5,10.8999996185,6.0799999237,NA,29,NA,NA,NA -"698","677",3,0.9399999976,1.4600000381,0.200000003,0.7200000286,31.8999996185,4.9000000954,102,6.5,140,10.1000003815,100.0001983643,0,0.0199999996,8.8599996567,31.3999996185,60.0001983643,320,1.0900000334,9.3999996185,4.7600002289,0.5,2.5,26,15.1999998093,92.9000015259,79.9000015259,44.2000007629,34.4000015259,13.1999998093,13.8000001907,0.200000003,12.3999996185,11.0799999237,0.0199999996,41,106,NA,NA -"699","678",13,0.9200000167,1.3899999857,3.2999999523,0.4499999881,30,4.1999998093,103,7.4000000954,139,10.1000003815,100.0001983643,0,0.0199999996,4.0599999428,24.7000007629,60.0001983643,282,0.9800000191,16.2999992371,5.1700000763,0.200000003,2.5,25.2999992371,15.5,85.9000015259,66.3000030518,44.4000015259,34.9000015259,22.7000007629,12.6000003815,0.3000000119,12,6.1199998856,0.200000003,NA,NA,NA,NA -"700","679",3,0.9300000072,1.8600000143,2.5,0.4099999964,30.6000003815,4.1999998093,NA,7.3000001907,139,8.6999998093,100.0001983643,0,0.0199999996,3.2100000381,28.7000007629,60.0001983643,185,0.9399999976,16.7999992371,5.4600000381,0.400000006,2.5599999428,14,16.7000007629,83.6999969482,56.7999992371,45.7000007629,36.5,33,12.1999998093,0.400000006,9.5,5.6399998665,0.1400000006,37,NA,NA,NA -"701","680",3,1.0900000334,2.4200000763,1.5,0.6700000167,28.2999992371,4.8000001907,102,7.6999998093,137,9.3999996185,87,0,0.0700000003,5.4099998474,35.7000007629,60.0001983643,494,0.9399999976,10.1000003815,4.4099998474,0.5,2.4000000954,20.1000003815,12.5,83.9000015259,62.2000007629,37,33.7999992371,27.7999992371,14.1000003815,0.8000000119,10.6000003815,8.6999998093,0.1299999952,18,95,8.5,NA -"702","681",0,0.9300000072,1.8700000048,0.8000000119,0.3700000048,32.7999992371,4.6999998093,NA,3.9000000954,137,9.5,100.0001983643,0,0.0199999996,7.1399998665,29.8999996185,60.0001983643,276,0.9700000286,15.6000003815,4.2399997711,0.200000003,2.3699998856,19.8999996185,13.8999996185,93.9000015259,75.4000015259,39.7999992371,34.9000015259,19.7000007629,13.8999996185,0.200000003,10,9.4799995422,0.0799999982,25,NA,NA,NA -"703","682",1,1.0199999809,1.2300000191,1.6000000238,0.4399999976,36.9000015259,4.3000001907,110,8,140,10.6000003815,96,0,0.0599999987,3.6600000858,34.4000015259,60.0001983643,224,0.6200000048,9.8999996185,3.25,0.5,2,28.6000003815,12,104.3000030518,66.9000015259,33.9000015259,35.4000015259,22.3999996185,15.6999998093,1.1000000238,11.6000003815,5.4800000191,0.0900000036,NA,NA,NA,0.6000000238 -"704","683",9,1.25,1.1000000238,0.6999999881,0.4099999964,30.1000003815,4.4000000954,107,7,142,11.5,71,0,0.0299999993,4.3000001907,28.3999996185,60.0001983643,212,0.7799999714,16.7999992371,5.4899997711,0.200000003,2.5399999619,36.2000007629,16.5,85.1999969482,73.0999984741,46.7999992371,35.2999992371,18.7000007629,13.3999996185,0.5,14,5.8800001144,0.0399999991,NA,NA,NA,NA -"705","684",6,0.9499999881,0.9399999976,0.6999999881,0.4600000083,31.7000007629,4.3000001907,103,8.3999996185,139,12.5,100.0001983643,NA,0.0299999993,4,31.2999992371,60.0001983643,184,0.6600000262,15.8000001907,4.6100001335,0.200000003,2.2300000191,43.2000007629,14.6000003815,93.0999984741,73.1999969482,42.9000015259,34,17.2000007629,14.5,0.5,17.1000003815,5.4699997902,0.0399999991,NA,NA,NA,NA -"706","685",4,0.9900000095,1.6799999475,3.2000000477,0.6700000167,29.5,4.5,103,8.1000003815,140,11.8000001907,100.0001983643,0,0.0599999987,5.5599999428,28.2999992371,60.0001983643,265,0.7300000191,16.6000003815,4.7800002098,0.1000000015,2.4300000668,40,14.1000003815,86,67.5999984741,41.0999984741,34.2999992371,20.3999996185,14.1000003815,0.6999999881,14.1999998093,8.2299995422,0.2599999905,NA,NA,2,0.8000000119 -"707","686",0,1.0399999619,1.9800000191,1,0.5400000215,32.7000007629,4.5,106,7.4000000954,136,9.6000003815,93,0,0.0299999993,4.6900000572,30,60.0001983643,247,0.9599999785,15,4.4699997902,0.1000000015,2.5,21.6000003815,14.6000003815,92.5999984741,64.0999984741,41.4000015259,35.2999992371,27.1000003815,13.5,0.400000006,10.8000001907,7.3099999428,0.0700000003,25,NA,NA,NA -"708","687",10,0.9800000191,1.7100000381,1.6000000238,0.8600000143,32.5999984741,4.1999998093,100,8.8000001907,140,10.5,100.0001983643,0,0.0599999987,7.0300002098,33.5,60.0001983643,252,0.7799999714,10.1000003815,4.7899999619,0.3000000119,2.2999999523,28.7999992371,15.6000003815,98.0999984741,71.5999984741,47,33.2000007629,17.3999996185,14.3000001907,0.6000000238,12.6000003815,9.8199996948,0.1599999964,NA,NA,NA,NA -"709","688",3,1.0499999523,0.7900000215,1.6000000238,0.6200000048,30.3999996185,3.7999999523,NA,10.1000003815,140,8.5,94,NA,0.0099999998,4.5999999046,27.2000007629,NA,305,0.7900000215,16.1000003815,5.2300000191,0.200000003,2.5099999905,14,15.8999996185,86.4000015259,75.1999969482,45.2000007629,35.2000007629,12.8999996185,14.1999998093,0.200000003,9.1000003815,6.1199998856,0.1000000015,33,NA,NA,NA -"710","689",1,0.8700000048,1.9500000477,2.5,0.3400000036,28.2000007629,4.0999999046,104,6,140,10.3000001907,100.0001983643,0,0.0399999991,3.1800000668,31,60.0001983643,259,0.7599999905,10.6999998093,4.5700001717,0.5,2.4000000954,28.1000003815,12.8999996185,84.1999969482,56.2999992371,38.5,33.5,34.5,14.8000001907,0.6999999881,12.3000001907,5.6500000954,0.1400000006,NA,NA,NA,0.6999999881 -"711","689",12,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,135,5,NA -"712","690",12,1.0499999523,1.9099999666,3.7999999523,0.3600000143,30.1000003815,4.6999998093,NA,6,141,11.3000001907,93,0,0.0399999991,3.5099999905,26,60.0001983643,196,1.1399999857,17.5,5.3099999428,0.5,2.25,37.4000015259,16,88.5,57.9000015259,47,34,31.6000003815,13.3999996185,0.6999999881,15.1999998093,6.0500001907,0.2300000042,48,NA,NA,NA -"713","691",2,0.97,1.74,5,0.77,30.6,4.4,102,10.1,138,NA,100,0,0.04,4.72,28.6,60,243,0.89,11,4.68,0.3,2.4,35.8,14.3,85.3,61.7,39.9,35.8,22.7,13.2,0.5,13.7,7.65,0.38,NA,NA,NA,0.8 -"714","692",1,1.1799999475,1.3400000334,4.1999998093,0.9499999881,26,4.3000001907,93,10.6000003815,132,8.6999998093,77,NA,0.0199999996,6.2600002289,46.7000007629,60.0001983643,268,0.6299999952,10.1999998093,3.8800001144,0.3000000119,2.2000000477,16,10.1000003815,80.1999969482,70,31.1000003815,32.5,15,18,0.200000003,9.1999998093,8.9499998093,0.3799999952,NA,NA,NA,NA -"715","692",10,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"716","693",7,0.99,1.94,NA,NA,33,5.4,NA,NA,143,NA,100,NA,NA,5.37,31.8,60,260,0.91,10.3,3.94,NA,2.4,NA,13,99.6,66.5,39.2,33.1,24,13.5,NA,NA,8.07,NA,41,103,2.1,NA -"717","694",4,1.0299999714,2.4900000095,0.1000000015,0.9100000262,30.5,4,105,4.0999999046,139,10.6000003815,89,0,0.0399999991,16.2600002289,33,60,400,1.05,10,4.4899997711,0.400000006,2.7,30,13.6999998093,91.5,81.5,41.0999984741,33.2999992371,13.3000001907,13,0.200000003,12.6000003815,18.6800003052,0.0299999993,NA,154,5.3,0.9 -"718","695",1,0.9900000095,1.3899999857,2.2999999523,0.6600000262,30.2000007629,4.8000001907,NA,8.8000001907,139,10.8000001907,100.0001983643,0,0.0099999998,5.25,30.2000007629,60.0001983643,402,0.5099999905,16.7000007629,4.1700000763,0.1000000015,2.4600000381,30.7999992371,12.6000003815,90.1999969482,70.1999969482,37.5999984741,33.5,18.6000003815,12.8999996185,0.1000000015,12.6000003815,7.4800000191,0.1700000018,34,NA,NA,NA -"719","696",0,0.8899999857,1.4500000477,1.7000000477,0.5699999928,30.7999992371,4.0999999046,NA,9.5,139,10.3999996185,100.0001983643,0,0.0199999996,3.8699998856,27.2999992371,NA,206,0.9100000262,16.2999992371,5.0700001717,0.3000000119,2.5799999237,27.2000007629,15.6000003815,89,64.4000015259,45.0999984741,34.5999984741,24.1000003815,13.3000001907,0.3000000119,12.1000003815,6.0100002289,0.1000000015,27,NA,NA,NA -"720","697",0,0.9800000191,2.4200000763,1.1000000238,0.5199999809,30.7000007629,4.5,NA,8.3000001907,139,11.1000003815,100.0001983643,0,0.0199999996,3.2699999809,29.7999992371,60.0001983643,159,0.8500000238,17.6000003815,5.4000000954,0.5,2.4300000668,33.5999984741,16.6000003815,89.0999984741,51.9000015259,48.0999984741,34.5,38.4000015259,14.6999998093,0.3000000119,13,6.3000001907,0.0700000003,44,NA,NA,NA -"721","698",0,0.9499999881,2.1300001144,3.2999999523,0.4600000083,29,5.3000001907,NA,7.3000001907,135,11,100.0001983643,0,0.0199999996,3.5,29,60.0001983643,175,1.0199999809,17.1000003815,5.4099998474,0,2.3599998951,33.7000007629,15.6999998093,83.4000015259,55.4000015259,45.0999984741,34.7999992371,33.7000007629,13.1999998093,0.3000000119,13.1999998093,6.3200001717,0.2099999934,39,NA,NA,NA -"722","699",0,1.0299999714,1.8700000048,5.8000001907,0.6100000143,30.8999996185,5.1999998093,112,8.6000003815,140,11.5,95,0,0.0700000003,4.1599998474,28.7999992371,21,108,2.1600000858,15.8999996185,3.4600000381,0.6000000238,2.4400000572,36,10.6999998093,91.5999984741,58.2999992371,31.7000007629,33.7999992371,26.2999992371,14.8000001907,1,14.8999996185,7.1199998856,0.4099999964,NA,NA,NA,0.8999999762 -"723","700",2,0.9800000191,2.0199999809,2,0.4600000083,29.7000007629,4.0999999046,102,10.1999998093,138,11.6000003815,100.0001983643,0,0.0199999996,1.9400000572,30.8999996185,60.0001983643,183,0.9200000167,9.8999996185,4.7100000381,0,2.4000000954,38.5,14,83.6999969482,42.7999992371,39.4000015259,35.5,44.5999984741,12.6999998093,0.400000006,15.1999998093,4.5300002098,0.0900000036,NA,NA,NA,0.8000000119 -"724","702",14,0.9900000095,1.4299999475,1.5,0.5500000119,31,4.3000001907,105,9.3000001907,139,9.8000001907,100.0001983643,0,0.0199999996,3.8099999428,34.4000015259,60.0001983643,208,0.9900000095,10.8999996185,4.9400000572,0.200000003,2.2999999523,23,15.3000001907,90.6999969482,64.6999969482,44.7999992371,34.2000007629,24.2000007629,12.3999996185,0.3000000119,11,5.9000000954,0.0900000036,NA,NA,NA,NA -"725","703",11,1.05,1.3,NA,NA,32,3.9,106,NA,141,NA,90,NA,NA,3.07,33.3,NA,252,0.98,11.4,4.91,NA,2.3,NA,15.7,93.1,63.3,45.7,34.3,26.4,12.9,NA,NA,4.84,NA,NA,141,NA,NA -"726","704",1,1.1,1.9,NA,NA,26.1,4.8,NA,NA,130,NA,83,NA,NA,5.47,45.4,NA,757,0.65,9.7,4.64,NA,2.3,NA,12.1,78.9,64.4,36.6,33.1,22.2,14,NA,NA,8.49,NA,NA,72,NA,NA -"727","705",0,1,1.8500000238,2.2999999523,0.6000000238,31.8999996185,4.5999999046,104,9.8000001907,139,11.3000001907,99,0,0.0299999993,3.5299999714,27.3999996185,59,192,1.2300000191,16.1000003815,5.2399997711,0.200000003,2.4200000763,35.0999984741,16.7000007629,91.4000015259,57.2999992371,47.9000015259,34.9000015259,30.1000003815,12.5,0.5,13.5,6.1500000954,0.1400000006,NA,NA,0.6000000238,0.8999999762 -"728","706",2,0.9900000095,0.9200000167,1.7000000477,0.3600000143,29.6000003815,4.9000000954,NA,8.8999996185,136,9.6999998093,100.0001983643,0,0.0099999998,2.6900000572,27.8999996185,60.0001983643,293,0.9900000095,16.2000007629,5.0599999428,0.200000003,2.3800001144,22.6000003815,15,85.5999984741,66.5,43.2999992371,34.5999984741,22.7000007629,13.3999996185,0.200000003,11.5,4.0500001907,0.0700000003,36,NA,NA,NA -"729","707",1,1,1.8700000048,2.9000000954,0.8100000024,26.2999992371,4.8000001907,NA,7.5,137,10,100,0,0.0599999987,7.7899999619,31.5,60.0001983643,354,0.9100000262,15.6000003815,5.5799999237,0.3000000119,2.5199999809,25.3999996185,14.6999998093,77.5999984741,71.6999969482,43.2999992371,33.9000015259,17.2999992371,14.8999996185,0.6000000238,11.8999996185,10.8400001526,0.3100000024,38,NA,NA,NA -"730","708",1,1.17,0.89,0.2,0.41,30.8,5.2,102,3.5,139,10.6,79,0,0.02,10.22,31.5,60,292,0.72,10.2,4.61,0.3,2.4,29.6,14.2,93.1,88.4,42.9,33.1,7.7,14.3,0.2,12,11.56,0.02,34,108,NA,NA -"731","709",11,NA,1.32,0.5,1.07,30.1,3.9,105,9.8,139,NA,NA,NA,0.01,8.49,NA,60,220,1.13,NA,3.42,NA,2.2,18.8,10.3,87.4,77.5,29.9,34.4,12.1,13.7,0.1,9.6,10.94,0.05,NA,NA,43.3,NA -"732","709",0,1.02,NA,NA,NA,NA,NA,NA,NA,NA,NA,97,NA,NA,NA,28.2,NA,NA,NA,10.3,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"733","710",10,1.0299999714,1.8899999857,1.7000000477,0.7099999785,30.2000007629,5.3000001907,NA,8.8000001907,134,9.3999996185,94,0,0.0199999996,5.3400001526,31,60.0001983643,193,0.8899999857,15.1999998093,4.4000000954,0.200000003,2.3299999237,20.2999992371,13.3000001907,88.5999984741,66,39,34.0999984741,23.2999992371,13.6000003815,0.200000003,10.6999998093,8.1000003815,0.1400000006,26,NA,NA,NA -"734","711",3,0.9900000095,1.7599999905,2.2999999523,1.3400000334,31.7000007629,5.6999998093,NA,11.5,127,9.6000003815,100.0001983643,0,0.0599999987,8.2100000381,32.7000007629,60.0001983643,557,1.0099999905,15,3.4700000286,0.3000000119,2.3800001144,21.1000003815,11,95.4000015259,70.5999984741,33.0999984741,33.2000007629,15.1000003815,12.6999998093,0.5,10.8000001907,11.6400003433,0.2700000107,24,NA,NA,NA -"735","712",1,0.8600000143,2.2599999905,1.8999999762,0.5299999714,32.5999984741,4.6999998093,105,7.1999998093,137,10.1000003815,100.0001983643,0,0.0299999993,4.4299998283,28,60.0001983643,193,0.8199999928,16.7000007629,4.8800001144,0.1000000015,2.5499999523,25.2000007629,15.8999996185,91.4000015259,59.9000015259,44.5999984741,35.7000007629,30.6000003815,12.8000001907,0.400000006,11.8000001907,7.3899998665,0.1400000006,32,NA,NA,NA -"736","714",1,0.9399999976,2.6600000858,6.0999999046,0.2599999905,30.5,5.6999998093,NA,4.5999999046,136,9.5,100.0001983643,0,0.0500000007,2.2999999523,32.7999992371,60.0001983643,280,0.5799999833,16.2999992371,4.5900001526,0.200000003,2.5,20,14,88.1999969482,41,40.5,34.5999984741,47.4000015259,13.1999998093,0.8999999762,10.8999996185,5.6100001335,0.3400000036,24,NA,NA,NA -"737","715",0,0.9399999976,1,0.8000000119,0.4600000083,30.2000007629,5.8000001907,NA,7.5999999046,137,8.8000001907,100.0001983643,0,0.0299999993,4.5399999619,31,60.0001983643,305,0.8600000143,16.3999996185,5.0599999428,0.200000003,2.5799999237,14.5,15.3000001907,86.1999969482,74.6999969482,43.5999984741,35.0999984741,16.3999996185,13.5,0.5,9.6000003815,6.0799999237,0.0500000007,27,NA,NA,NA -"738","716",0,1.1,2.5,NA,NA,33.3,5.1,98,NA,139,NA,85,NA,NA,5.65,31.8,NA,358,NA,10.6,5.35,NA,2.3,NA,17.8,96.6,61.5,51.7,34.4,27.6,12.6,NA,NA,9.18,NA,22,87,NA,NA -"739","716",6,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1.04,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"740","717",1,1.15,2.01,0.2,1.05,33.6,4.2,100,8.8,136,11.3,73,0,0.09,8.8,35,60,210,0.57,10.9,4.32,0.6,2.2,35.1,14.5,99.3,73.4,42.9,33.8,16.8,12.9,0.8,14.1,11.97,0.02,21,158,NA,NA -"741","718",0,0.9300000072,1.9700000286,2.7000000477,0.5699999928,32.7000007629,4.6999998093,NA,7.3000001907,140,9.8000001907,100.0001983643,0,0.0199999996,5.0199999809,27.6000003815,NA,240,0.7300000191,14.6000003815,4.6500000954,0.3000000119,2.5,23.3999996185,15.1999998093,93.8000030518,64.4000015259,43.5999984741,34.9000015259,25.2999992371,12.1999998093,0.3000000119,11.6000003815,7.7899999619,0.2099999934,15,NA,NA,NA -"742","719",9,1,1.0499999523,1.1000000238,0.5899999738,30.7000007629,4.8000001907,NA,9.5,137,9.3000001907,100.0001983643,0,0.0299999993,4.4699997902,28.2000007629,60.0001983643,219,0.9200000167,17.2000007629,5.5999999046,0.200000003,2.4500000477,19.6000003815,17.2000007629,87.3000030518,72,48.9000015259,35.2000007629,16.8999996185,12.8000001907,0.5,10.3999996185,6.2100000381,0.0700000003,NA,NA,NA,NA -"743","719",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,22,NA,NA,NA -"744","720",3,1.1100000143,2.5499999523,2.2000000477,0.5600000024,31.2999992371,4.6999998093,104,8.8999996185,138,11.6000003815,79,0,0.0500000007,3.0099999905,31.6000003815,59,269,0.9599999785,12.1000003815,4.6999998093,0.200000003,2.5,38.4000015259,14.6999998093,92.8000030518,47.7000007629,43.5999984741,33.7000007629,40.4000015259,14.1000003815,0.8000000119,14,6.3099999428,0.1400000006,11,89,NA,NA -"745","721",1,1.03,1.03,0.7,1.17,36.3,4.9,93,13,133,9.3,100,0,0.02,6.72,35.4,60,201,0.55,10.3,4.49,0.3,2.4,19.3,16.3,99.6,74.7,44.7,36.5,11.4,14.7,0.2,10.7,9,0.06,NA,NA,NA,0.8 -"746","722",3,0.9599999785,1.2799999714,2.2000000477,0.5400000215,33,5.3000001907,104,5.6999998093,136,11.3999996185,100.0001983643,0,0.0299999993,7.3800001144,30,32,201,2.1600000858,9.6000003815,4.3899998665,0.200000003,2.2999999523,35.4000015259,14.5,95.1999969482,78.1999969482,41.7999992371,34.7000007629,13.6000003815,14.3000001907,0.3000000119,14,9.4399995804,0.2099999934,NA,NA,NA,1 -"747","723",2,0.9800000191,1.7200000286,2.7000000477,0.6700000167,27.3999996185,4.4000000954,NA,9.6000003815,139,10.6000003815,100.0001983643,0,0.0199999996,4.4000000954,33.2000007629,NA,255,0.8100000024,16.1000003815,5.5500001907,0.3000000119,2.3499999046,31.3999996185,15.1999998093,82.1999969482,62.7999992371,45.5999984741,33.2999992371,24.6000003815,13.6999998093,0.3000000119,13.3000001907,7,0.1899999976,24,NA,NA,NA -"748","724",3,0.8600000143,1.6699999571,1.1000000238,0.9499999881,30.2000007629,5.5999999046,99,8.1999998093,138,11.1000003815,100.0001983643,0,0.0299999993,8.7600002289,34.0999984741,60.0001983643,420,0.6899999976,9.3999996185,5.0700001717,0.3000000119,2.5999999046,34.4000015259,15.3000001907,89.5,75.9000015259,45.4000015259,33.7000007629,14.5,13.5,0.3000000119,14.3999996185,11.5399999619,0.1299999952,15,101,NA,NA -"749","725",3,0.9599999785,2.0099999905,3,0.4799999893,31.1000003815,4.8000001907,NA,7.1999998093,137,9.8000001907,100.0001983643,0,0.0599999987,3.9400000572,30.7999992371,60.0001983643,175,0.8600000143,15.3999996185,4.8600001335,0.3000000119,2.3599998951,24.2000007629,15.1000003815,90.0999984741,58.9000015259,43.7999992371,34.5,30,12.8999996185,0.8999999762,11.8000001907,6.6900000572,0.200000003,28,NA,NA,NA -"750","726",2,0.9300000072,1.75,1.7999999523,0.6200000048,30,4.3000001907,102,10.8999996185,140,8.8999996185,100.0001983643,0,0.0299999993,3.1800000668,27.5,60.0001983643,306,0.9100000262,16.2999992371,4.5300002098,0.400000006,2.4900000095,16.2999992371,13.6000003815,86.3000030518,56,39.0999984741,34.7999992371,30.7999992371,13.1000003815,0.5,9.8000001907,5.6799998283,0.1000000015,28,112,NA,NA -"751","727",3,1.0199999809,1.5,1,0.7799999714,34.5999984741,5,NA,9.6000003815,137,10.6000003815,96,0,0.0500000007,5.7199997902,26.8999996185,60.0001983643,327,0.5899999738,17.3999996185,4.1599998474,0.400000006,2.6300001144,30,14.3999996185,100.6999969482,70.3000030518,41.9000015259,34.4000015259,18.5,12.5,0.6000000238,12.8999996185,8.1300001144,0.0799999982,14,NA,NA,NA -"752","728",0,0.96,0.96,0.6,1.01,32.3,5.4,NA,14,129,10.2,100,NA,0.03,5.16,33.4,60,192,0.91,9.6,4.67,NA,2.3,25.9,15.1,92.3,71.7,43.1,35,13.3,NA,0.4,11.7,7.2,0.04,NA,NA,NA,NA -"753","729",3,NA,1.8799999952,1.8999999762,0.8500000238,31.5,4.5999999046,NA,9.1999998093,135,9.6999998093,NA,0,0.0199999996,6.3200001717,NA,60.0001983643,271,0.6600000262,NA,4.6399998665,0.200000003,2.5,21.1000003815,14.6000003815,90.0999984741,68.4000015259,41.7999992371,34.9000015259,20.2999992371,13.1000003815,0.200000003,10.6999998093,9.25,0.1800000072,15,NA,NA,NA -"754","729",1,1.1499999762,NA,NA,NA,NA,NA,NA,NA,NA,NA,80,NA,NA,NA,33.5,NA,NA,NA,22,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"755","730",3,1.0199999809,1.9900000095,1.8999999762,0.5699999928,30.8999996185,5,NA,7.5999999046,138,12.3000001907,97,0,0.0199999996,4.7399997711,27.7000007629,60.0001983643,236,0.9300000072,15.6999998093,5.1500000954,0.400000006,2.4400000572,43.4000015259,15.8999996185,87.1999969482,63.5,44.9000015259,35.4000015259,26.7000007629,13.3999996185,0.3000000119,16.3999996185,7.4600000381,0.1400000006,33,NA,NA,NA -"756","732",0,0.9900000095,1.2100000381,1.7999999523,0.6800000072,30,4.8000001907,108,7.5,141,9,100.0001983643,0,0.0399999991,7.0199999809,29.5,60,262,0.8700000048,15.3000001907,5.25,0.3000000119,2.5599999428,17.2000007629,14.8000001907,86.6999969482,77,45.5,32.5,13.3000001907,14.3000001907,0.400000006,9.6000003815,9.1099996567,0.1599999964,19,NA,NA,0.8 -"757","733",0,NA,NA,NA,NA,NA,4.5,NA,NA,140,NA,NA,NA,NA,NA,NA,NA,NA,1.05,NA,NA,NA,2.5,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,85,NA,NA -"758","734",1,0.9300000072,1.4299999475,3.2000000477,0.4300000072,27.1000003815,4.5999999046,104,10,136,10.1000003815,100.0001983643,0,0.0399999991,2.2799999714,27.6000003815,60.0001983643,339,0.4900000095,15.6000003815,4.9499998093,0,2.2599999905,26.2999992371,13.3999996185,82.4000015259,52.7999992371,40.7999992371,32.7999992371,33.0999984741,17,0.8999999762,11.6000003815,4.3200001717,0.1400000006,NA,NA,2.0999999046,NA -"759","735",5,1.0199999809,2.4000000954,2.5,0.8600000143,31,4.8000001907,102,9.8000001907,138,9.3000001907,96,0,0.0099999998,5.3099999428,25.2000007629,60.0001983643,360,1.0599999428,16.2999992371,4.0999999046,0.3000000119,2.2899999619,18.5,12.6999998093,92,60.2999992371,37.7000007629,33.7000007629,27.2999992371,13.1999998093,0.1000000015,10.1999998093,8.8000001907,0.2199999988,19,NA,NA,NA -"760","736",3,0.9300000072,0.8199999928,0.6000000238,0.5600000024,27.8999996185,5.1999998093,105,7.3000001907,139,9.3000001907,100.0001983643,0,0.0199999996,6.2699999809,28,60.0001983643,377,0.6999999881,16.1000003815,4.9400000572,0.1000000015,2.3299999237,19.7000007629,13.8000001907,83.5999984741,81.1999969482,41.2999992371,33.4000015259,10.6000003815,17.2000007629,0.3000000119,10,7.7199997902,0.0500000007,35,85,NA,NA -"761","738",8,1.0800000429,2.1199998856,1.2999999523,0.8399999738,35.5,4.5999999046,101,9.3999996185,140,12.8999996185,88,0,0.0399999991,5.7899999619,32,60.0001983643,99,0.5099999905,16.3999996185,4.3099999428,0.3000000119,2.5,46.7000007629,15.3000001907,104.1999969482,65.0999984741,44.9000015259,34.0999984741,23.7999992371,13.3999996185,0.400000006,16.6000003815,8.9099998474,0.1199999973,NA,NA,6.9000000954,0.8000000119 -"762","738",0,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,21,NA,NA,NA -"763","739",7,0.9200000167,1.3899999857,0.3000000119,0.8600000143,35.7000007629,5.3000001907,97,7.3000001907,133,10.1000003815,100.0001983643,0,0.0399999991,9.3999996185,29.3999996185,60.0001983643,406,0.6899999976,10.5,4.7399997711,0.200000003,2.7000000477,26.5,16.8999996185,103,80.1999969482,48.7999992371,34.5999984741,11.8999996185,14.5,0.3000000119,11.8000001907,11.720000267,0.0299999993,NA,NA,NA,NA -"764","740",0,0.9499999881,1.4500000477,0.3000000119,1.6000000238,30.2999992371,4.5,100,13.3999996185,134,8.8999996185,100.0001983643,0,0.0900000036,8.779999733,29,60.0001983643,362,1.0900000334,15.6999998093,4.8899998665,0.200000003,2.4600000381,15.5,14.8000001907,85.9000015259,73.4000015259,42,35.2000007629,12.1000003815,14.3000001907,0.8000000119,9.8000001907,11.9499998093,0.0299999993,31,NA,NA,NA -"765","741",3,0.9800000191,1.0499999523,5.1999998093,0.6600000262,32.0999984741,5.3000001907,NA,9.8999996185,138,12.8999996185,100.0001983643,0,0.0299999993,4.6100001335,30.2999992371,59,79,1.2100000381,15.3999996185,4.1799998283,0.1000000015,2.3299999237,46.2000007629,13.3999996185,91.5999984741,68.8000030518,38.2999992371,35,15.6999998093,14.3000001907,0.400000006,17.2000007629,6.6999998093,0.349999994,40,NA,NA,NA -"766","742",3,1.0599999428,1.4199999571,0.3000000119,0.4600000083,32.0999984741,4.5,100,7.5999999046,137,12.6000003815,90,0,0.0099999998,4.1500000954,27.1000003815,60.0001983643,165,0.9399999976,15.3999996185,4.6700000763,0.3000000119,2.5,46.5,15,87.8000030518,68.5,41,36.5999984741,23.3999996185,12.1999998093,0.200000003,16.6000003815,6.0599999428,0.0199999996,23,NA,NA,NA -"767","744",4,0.9399999976,1.0599999428,0.1000000015,0.0900000036,35.2000007629,4.9000000954,NA,0.8999999762,135,10.5,100.0001983643,0,0.0099999998,8.4600000381,31.3999996185,60.0001983643,381,0.6299999952,15.8999996185,4.4299998283,0.200000003,2.4900000095,29.1000003815,15.6000003815,98.1999969482,87.9000015259,43.5,35.9000015259,11,12.8999996185,0.1000000015,12.5,9.6300001144,0.0099999998,NA,NA,NA,NA -"768","745",1,0.8799999952,2.2400000095,0.400000006,0.9900000095,32.2000007629,NA,96,12,146,10.5,100.0001983643,0,0.0599999987,4.9499998093,30.7999992371,60.0001983643,352,0.7200000286,15.6999998093,4.3499999046,0.200000003,2.3099999428,28.1000003815,14,91.6999969482,59.7999992371,39.9000015259,35.0999984741,27.1000003815,13.1000003815,0.6999999881,12.1000003815,8.2700004578,0.0299999993,NA,NA,NA,1 -"769","746",2,NA,2.0199999809,4.5,0.7300000191,29.2999992371,4.9000000954,NA,14.1000003815,139,10.8999996185,NA,0,0.0199999996,2.1600000858,NA,60.0001983643,198,1.0499999523,NA,5.2899999619,0.200000003,2.2999999523,33.7000007629,15.5,87.3000030518,41.9000015259,46.2000007629,33.5,39.0999984741,14.6000003815,0.400000006,14,5.1599998474,0.2300000042,45,NA,NA,NA -"770","746",1,1.3999999762,NA,NA,NA,NA,NA,NA,NA,NA,NA,60,NA,NA,NA,43.2000007629,NA,NA,NA,144,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"771","747",0,1.02,1.56,2.7,1,28.9,4.4,105,12.9,142,14.6,96,0,0.05,4.93,28.3,60,208,0.65,10.5,5.08,0.5,2.2,61,14.7,88,63.7,44.7,32.9,20.1,15.1,0.6,22.7,7.75,0.21,NA,NA,15.8,0.9 -"772","748",6,1.07,1.83,3,0.68,27.2,3.8,101,8.3,143,11.4,92,0,0.05,5.4,29.7,56,257,1.28,9.6,5.19,0.2,2.2,38.1,14.1,82.7,65.8,42.9,32.9,22.3,15.5,0.6,16.2,8.21,0.25,NA,NA,NA,0.9 -"773","749",0,1.27,1.83,0.3,0.58,31.5,5.1,106,5,138,11.1,61,0,0.03,9.1,41.7,60,279,0.9,12.5,4.8,0.2,2.4,33.6,15.1,93.1,78.6,44.7,33.8,15.8,14.2,0.3,13.4,11.58,0.04,38,90,NA,NA -"774","750",13,1.1599999666,2.1800000668,2.7999999523,1.0599999428,29.8999996185,4.1999998093,NA,10.8999996185,137,10.8000001907,79,0,0.0399999991,6.1599998474,31.7000007629,60.0001983643,242,0.7699999809,16.1000003815,4.8099999428,0.200000003,2.5999999046,30.8999996185,14.3999996185,86.9000015259,63.4000015259,41.7999992371,34.4000015259,22.5,13.5,0.400000006,12.8000001907,9.7100000381,0.2700000107,39,NA,NA,NA -"775","751",0,0.9900000095,2.1900000572,0.8999999762,0.5699999928,27.1000003815,4.4,104,6.0999999046,134,9.6000003815,100.0001983643,0,0.0799999982,6.3499999046,34.0999984741,60,427,0.56,10.8000001907,4.5799999237,0.3000000119,2.3,21.1000003815,12.3999996185,81.4000015259,68.5,37.2999992371,33.2000007629,23.6000003815,14.3999996185,0.8999999762,10.8999996185,9.2700004578,0.0799999982,15,236,NA,NA -"776","752",0,0.9200000167,2.0899999142,3.2000000477,0.8199999928,32.9000015259,4.5,102,11,139,11,100.0001983643,0,0.0500000007,4.2600002289,28.2000007629,60.0001983643,301,0.7599999905,10,4.4699997902,0.400000006,2.4000000954,31.7999992371,14.6999998093,97.5,57.0999984741,43.5999984741,33.7000007629,28,14.3999996185,0.6999999881,12.6999998093,7.4600000381,0.2399999946,25,174,NA,NA -"777","753",2,NA,1.9600000381,0.6999999881,0.5699999928,29.6000003815,4.5,101,6.4000000954,136,10.8000001907,NA,0,0.0299999993,6.2699999809,NA,60.0001983643,270,0.8299999833,NA,3.9900000095,0.200000003,2.5,32.5,11.8000001907,90.6999969482,70.5999984741,36.2000007629,32.5999984741,22,16.8999996185,0.3000000119,12.8999996185,8.8900003433,0.0599999987,NA,NA,0.8000000119,0.6000000238 -"778","753",3,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,43,NA,NA,NA -"779","753",1,1.1100000143,NA,NA,NA,NA,NA,NA,NA,NA,NA,79,NA,NA,NA,57.2999992371,NA,NA,NA,17.7999992371,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA -"780","754",3,0.8799999952,3.1199998856,2.4000000954,0.9399999976,32.7000007629,4.5999999046,108,8.3000001907,142,10.8000001907,100.0001983643,0,0.0900000036,6.8899998665,29.7000007629,60.0001983643,241,0.9800000191,9.6000003815,4.9499998093,0.3000000119,2.5999999046,30.6000003815,16.2000007629,95.4000015259,60.9000015259,47.2000007629,34.2999992371,27.6000003815,13.3999996185,0.8000000119,12.6000003815,11.3100004196,0.2700000107,25,NA,NA,NA -"781","755",0,0.98,2,NA,NA,30.9,4.9,NA,NA,134,NA,100,NA,NA,10,26.7,NA,345,0.8,10.1,5.27,NA,2.3,NA,16.3,89.1,77.9,47,34.7,15.7,12.9,NA,NA,12.83,NA,NA,100,NA,NA -"782","756",1,1,1.9500000477,3.4000000954,0.4699999988,28,3.7999999523,NA,7,142,9.6999998093,100.0001983643,0,0.0399999991,4.0399999619,29.7000007629,60.0001983643,194,0.8500000238,17.1000003815,4.9200000763,0.400000006,2.4000000954,23.3999996185,13.8000001907,81.3000030518,60,40,34.5,29,14.5,0.6000000238,11.6000003815,6.7300000191,0.2300000042,NA,NA,NA,NA -"783","757",0,1.1100000143,2.0799999237,0.5,0.4799999893,31.1000003815,4.9000000954,101,5.1999998093,137,10.6999998093,85,0,0.0199999996,6.6900000572,29.2000007629,56,301,1.2999999523,14.6999998093,4.6300001144,0.200000003,2.5199999809,31,14.3999996185,89.1999969482,71.8000030518,41.2999992371,34.9000015259,22.2999992371,14,0.200000003,12.3999996185,9.3199996948,0.0500000007,NA,NA,NA,NA -"784","758",1,1.04,4.12,2.7,0.92,29.9,5,102,7.1,135,10.9,90,0,0.1,7.4,29.5,60,183,0.74,11.7,5.65,0.7,2.4,33,16.9,85,57.4,48,35.2,32,14.2,0.8,13.4,12.89,0.35,NA,NA,NA,0.8 -"785","759",1,0.96,1.73,4.1,0.46,31.7,5.1,95,11,128,NA,100,NA,0.06,1.75,30.3,60,304,0.54,10.2,3.88,NA,2.4,10.2,12.3,92.8,42,36,34.2,41.5,15.8,1.4,7.6,4.17,0.17,NA,90,NA,NA -"786","760",3,0.9800000191,1.5700000525,1.2000000477,1.3500000238,31.7999992371,4.6999998093,NA,10.6999998093,132,9.5,100.0001983643,0,0.0700000003,9.4899997711,31.8999996185,60.0001983643,508,0.5199999809,15.6000003815,5.2899999619,0.200000003,2.4700000286,20.2999992371,16.7999992371,88.0999984741,75.0999984741,46.5999984741,36.0999984741,12.3999996185,14.5,0.6000000238,10.8000001907,12.6300001144,0.150000006,11,NA,NA,NA -"787","761",3,1.0700000525,1.6399999857,3.5999999046,0.7599999905,32.2999992371,3.4000000954,NA,13.1000003815,137,10.5,90,0,0.0299999993,3.1600000858,28.6000003815,54,182,1.2799999714,18,4.3699998856,0.3000000119,2.3800001144,28.8999996185,14.1000003815,93.8000030518,54.5,41,34.4000015259,28.2999992371,13.6999998093,0.5,12.3000001907,5.8000001907,0.2099999934,64,NA,NA,NA -"788","762",0,1.02,1.19,1.2,0.39,30.4,4.5,101,7.8,137,9.6,96,0,0.04,3.31,27.4,60,281,0.58,10.8,4.84,0.2,2.4,21.6,14.7,87,66.4,42.1,34.9,23.8,13.1,0.8,11.3,4.99,0.06,NA,NA,NA,0.8 diff --git a/test_data/inf_data_PMID40759646.csv b/test_data/inf_data_PMID40759646.csv deleted file mode 100644 index ee252eb..0000000 --- a/test_data/inf_data_PMID40759646.csv +++ /dev/null @@ -1,764 +0,0 @@ -"","patient_id","year_of_initial_diagnosis","age_at_initial_diagnosis","sex","smoking_status","primarily_metastasis","survival_status","survival_status_with_cause","days_to_last_information","first_treatment_intent","first_treatment_modality","days_to_first_treatment","adjuvant_treatment_intent","adjuvant_radiotherapy","adjuvant_radiotherapy_modality","adjuvant_systemic_therapy","adjuvant_systemic_therapy_modality","adjuvant_radiochemotherapy","recurrence","days_to_recurrence","progress_1","days_to_progress_1","progress_2","days_to_progress_2","metastasis_1_locations","days_to_metastasis_1","metastasis_2_locations","days_to_metastasis_2","metastasis_3_locations","days_to_metastasis_3","metastasis_4_locations","days_to_metastasis_4","primary_tumor_site","pT_stage","pN_stage","grading","hpv_association_p16","number_of_positive_lymph_nodes","number_of_resected_lymph_nodes","perinodal_invasion","lymphovascular_invasion_L","vascular_invasion_V","perineural_invasion_Pn","resection_status","resection_status_carcinoma_in_situ","carcinoma_in_situ","closest_resection_margin_in_cm","histologic_type","infiltration_depth_in_mm" -"1","001",2015,65,"male","former","no","living","living",2258,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",3,61,"yes","yes","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",19 -"2","002",2016,62,"male","smoker","yes","living","living",1753,"curative","local surgery",16,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",357,"yes",357,NA,NA,"Lung",357,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN2c","G3","not_tested",3,48,"yes","yes","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",9 -"3","003",2019,60,"male","non-smoker","no","living","living",851,"curative","local surgery",20,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,15,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",7 -"4","004",2010,55,"male","smoker","no","living","living",2996,"curative","local surgery",14,NA,"yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,13,NA,"no","no","no","R0","Ris0","yes","0.3","SCC_Conventional-Keratinizing",8 -"5","005",2012,70,"male","non-smoker","no","deceased","deceased not tumor specific",2819,"curative","local surgery",39,NA,"no",NA,"no",NA,"no","yes",1202,"yes",2483,NA,NA,"Lung",2483,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","hpv_association_p16","positive",NA,0,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",3 -"6","006",2018,65,"male","former","no","living","living",991,"curative","local surgery",48,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN3b","G3","negative",2,41,"yes","no","no","no","R0","Ris0","no","0.3","SCC_Conventional-Keratinizing",3 -"7","007",2014,67,"male","smoker","no","living","living",1149,"curative","local surgery",23,"curative","yes",NA,"yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN2c","G3","not_tested",5,63,"yes","yes","no","yes","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",38 -"8","008",2018,63,"male","smoker","no","living","living",69,"curative","local surgery",29,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G2","negative",0,14,NA,"no","no","no","R0","Ris0","yes","0","SCC_Conventional-Keratinizing",9 -"9","009",2016,76,"male","smoker","no","living","living",1617,"curative","local surgery",21,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G2","not_tested",0,1,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",2 -"10","010",2017,55,"male","smoker","no","living","living",1462,"curative","local surgery",32,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",1.5 -"11","011",2016,55,"male","smoker","no","living","living",1785,"curative","local surgery",17,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",2,39,"no","yes","yes","no","R0","Ris1","yes","<0.1","SCC_Conventional-Keratinizing",10 -"12","012",2013,52,"male","smoker","yes","deceased","deceased not tumor specific",2395,"curative","local surgery",37,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",974,"yes",974,NA,NA,"Lung",1462,"LymphNodes",1867,NA,NA,NA,NA,"Larynx","pT2","pN2b","G3","not_tested",3,33,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",4 -"13","013",2012,50,"male","smoker","no","deceased","deceased tumor specific",326,"curative","local surgery",45,"curative","no",NA,"no","cisplatin + Docetaxel","no","yes",256,"yes",256,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN1a","G2","not_tested",1,58,"yes","yes","no","yes","R0","Ris0","yes","0.1","SCC_Conventional-NonKeratinizing",12 -"14","014",2016,55,"female","smoker","no","living","living",1843,"curative","local surgery",33,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2c","G3","negative",8,44,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",5 -"15","015",2012,54,"male","former","no","living","living",526,"curative","local surgery",20,"curative","yes","brachytherapy","no",NA,"no","yes",374,"yes",374,NA,NA,"Lung",374,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","hpv_association_p16","positive",0,47,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",1 -"16","016",2011,52,"male","former",NA,"deceased","deceased tumor specific",336,"curative","local surgery",19,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",238,"yes",243,NA,NA,"Bones",243,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","hpv_association_p16","positive",3,72,"no","yes","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",23 -"17","017",2017,48,"male","non-smoker","no","living","living",487,"curative","local surgery",28,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",459,"yes",459,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN2a","G3","not_tested",1,44,"yes","no","no","yes","R0","Ris0","no","<0.1","SCC_Conventional-Keratinizing",12 -"18","018",2013,36,"female","non-smoker","no","living","living",2794,"curative","local surgery",12,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G3","not_tested",2,79,"no","no","no","yes","R0","CIS Absent","no","1.1","SCC_Conventional-Keratinizing",14 -"19","019",2011,77,"male","non-smoker","no","deceased","deceased not tumor specific",165,"curative","local surgery",17,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN2b","G2","not_tested",2,32,"no","no","no","yes","R0","CIS Absent","no",NA,"SCC_Conventional-NonKeratinizing",13 -"20","020",2014,47,"male","non-smoker","no","living","living",2610,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","yes","Radiattio + fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",1,54,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",12 -"21","021",2011,56,"male","smoker",NA,"living","living",830,"curative","local surgery",47,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",817,"yes",817,NA,NA,"LymphNodes Lung",817,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",5,54,"yes","no","no","yes","R0","Ris0","yes","0.4","SCC_Basaloid",8 -"22","022",2008,57,"male","non-smoker","no","living","living",4670,"curative","local surgery",17,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1b","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",5 -"23","023",2014,78,"male","non-smoker","no","living","living",204,"curative","local surgery",76,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","NX","G3","negative",NA,0,NA,"no","yes","yes","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",8 -"24","024",2013,50,"male","smoker","no","living","living",1552,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2a","G3","not_tested",1,24,"no","no","no","no","R1","CIS Absent","no","0","SCC_Conventional-NonKeratinizing",3 -"25","025",2012,63,"female","smoker","no","living","living",3284,"curative","local surgery",16,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G2","negative",0,19,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",3 -"26","026",2007,71,"female",NA,"no","living","living",2442,"curative","local surgery",32,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G1","not_tested",0,10,NA,"no","no","no","R0","CIS Absent","no",NA,NA,6 -"27","027",2009,71,"male","non-smoker","no","deceased","deceased not tumor specific",3735,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN1","G3","not_tested",1,39,"yes","yes","no","no","RX","Ris0","yes",NA,"SCC_Conventional-Keratinizing",40 -"28","028",2014,45,"male","smoker","no","living","living",2688,"curative","local surgery",75,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",650,"yes",650,NA,NA,"Lung",650,"Lung",1196,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,47,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",12 -"29","029",2015,66,"male","non-smoker","no","deceased","deceased not tumor specific",733,"curative","local surgery",19,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pTis","NX","G3","not_tested",NA,0,NA,"no","no","no","RX","Ris1","yes",NA,"SCC_Conventional-NonKeratinizing",NA -"30","030",2013,57,"female","smoker","no","living","living",2490,"curative","local surgery",39,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,18,"no","no","no","no","R0","CIS Absent","no","0.3","SCC_Basaloid",11 -"31","031",2009,60,"female","smoker",NA,"living","living",4032,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,38,NA,"yes","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",NA -"32","032",2016,71,"male","former","no","living","living",1679,"curative","local surgery",13,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",6 -"33","033",2013,72,"male","smoker","no","living","living",3023,"curative","local surgery",8,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN0","G2","not_tested",0,29,NA,"no","no","yes","R0","CIS Absent","no","0.1","SCC_Basaloid",NA -"34","034",2014,58,"male","former","no","living","living",1924,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G3","not_tested",3,28,"yes","no","no","yes","R0","Ris0","yes","<0.1","SCC_Sarcomatoid",9 -"35","035",2013,69,"male","non-smoker","no","living","living",168,"curative","local surgery",26,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN1","G3","not_tested",1,6,"no","no","no","no","R0","CIS Absent","no","0.2","SCC_Basaloid",4 -"36","036",2014,45,"male","smoker","no","living","living",2337,"curative","local surgery",30,"curative","no",NA,"no","pembrolizumab","no","yes",419,"yes",1700,"yes",2108,"Liver",1700,"Bones",2108,NA,NA,NA,NA,"Hypopharynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-NonKeratinizing",2 -"37","037",2012,52,"male","smoker","no","living","living",539,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2c","G2","not_tested",2,40,"no","no","no","yes","R0","CIS Absent","no","0.1","SCC_Basaloid",8 -"38","038",2013,55,"male","smoker","no","living","living",2932,"curative","local surgery",39,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",4,60,"no","yes","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",6 -"39","039",2013,46,"male","smoker","no","deceased","deceased tumor specific",471,"curative","local surgery",66,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",471,"yes",471,NA,NA,"Liver",471,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN1","G3","negative",1,27,"no","no","no","no","R0","Ris1","yes","0.5","SCC_Conventional-Keratinizing",19 -"40","040",2013,57,"male","smoker","no","deceased","deceased tumor specific",556,"curative","local surgery",10,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",89,"yes",217,"yes",217,"Liver",89,"Liver",217,NA,NA,NA,NA,"Hypopharynx","pT1","pN2b","G3","not_tested",4,35,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",2 -"41","041",2017,61,"male","smoker","no","living","living",1454,"curative","local surgery",31,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-Keratinizing",4.5 -"42","042",2016,61,"male","former","no","living","living",1821,"curative","local surgery",65,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN3","hpv_association_p16","positive",5,8,"yes","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",9 -"43","043",2014,65,"male","smoker","no","living","living",2309,"curative","local surgery",60,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",281,"yes",281,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT4a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",9 -"44","044",2018,50,"male","smoker","no","living","living",953,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","G3","negative",7,58,"no","no","no","no","R1","Ris1","yes","0","SCC_Conventional-NonKeratinizing",2 -"45","045",2012,51,"male","smoker","no","living","living",3187,"curative","local surgery",56,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN0","G2","not_tested",0,21,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",8 -"46","046",2013,61,"male","former","no","deceased","deceased not tumor specific",124,"curative","local surgery",42,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G3","not_tested",2,29,"yes","no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",20 -"47","047",2009,47,"male","former","no","living","living",4228,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G2","negative",2,35,"no","yes","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",9 -"48","048",2013,51,"female","non-smoker","no","deceased","deceased tumor specific",255,"curative","local surgery",19,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",11,11,"yes","yes","no","no","R0","CIS Absent","no","0.5","SCC_Sarcomatoid",5 -"49","049",2017,71,"female","former","no","living","living",1420,"curative","local surgery",14,NA,"no",NA,"no",NA,"no","yes",1314,"yes",1314,NA,NA,"Lung",1314,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G2","negative",0,12,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",2 -"50","050",2012,83,"male","former","no","deceased","deceased tumor specific",1782,"curative","local surgery",0,NA,"no","percutaneous radiotherapy","no",NA,"no","yes",1382,"yes",1382,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN2b","G3","not_tested",2,2,"yes","no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",NA -"51","051",2014,60,"male","former","no","living","living",1476,"curative","local surgery",32,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G3","negative",4,21,"no","yes","no","yes","R1","Ris0","yes","0","SCC_Conventional-Keratinizing",11 -"52","052",2016,63,"male","former","no","deceased","deceased not tumor specific",844,"curative","local surgery",18,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","hpv_association_p16","positive",2,18,"no","no","no","yes","R0","CIS Absent","no","0.5","SCC_Basaloid",11 -"53","053",2009,70,"female","former",NA,"living","living",4260,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","G2","negative",3,14,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",6 -"54","054",2012,76,"male","former","no","living","living",155,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",2,34,"yes","yes","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",6 -"55","055",2018,22,"male","non-smoker","no","living","living",1185,"curative","local surgery",11,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.3","SCC_Conventional-Keratinizing",1.5 -"56","056",2014,71,"male","non-smoker","no","deceased","deceased tumor specific",375,"curative","local surgery",45,NA,"no",NA,"no",NA,"no","yes",263,"yes",263,NA,NA,"LymphNodes",268,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Sarcomatoid",6 -"57","057",2013,64,"male","smoker","no","living","living",1854,"curative","local surgery",35,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G2","not_tested",0,28,NA,"no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",9 -"58","058",2006,73,"male",NA,"no","deceased","deceased tumor specific",153,"curative","local surgery",10,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,18,NA,"no","no","no","R0","CIS Absent","no","1.2","SCC_Conventional-NonKeratinizing",14 -"59","059",2009,62,"male","former","no","living","living",4006,"curative","local surgery",44,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2c","G2","negative",3,32,"yes","yes","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",8 -"60","060",2009,53,"male","smoker","no","living","living",743,"curative","local surgery",26,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN0","G2","not_tested",0,25,NA,"yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",11 -"61","061",2017,38,"female","non-smoker","no","deceased","deceased tumor specific",161,"curative","local surgery",49,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4b","pN1","G3","not_tested",1,21,"yes","no","no","no","R1","Ris1","yes","0","SCC_Conventional-Keratinizing",7 -"62","062",2007,53,"female",NA,"no","living","living",537,"curative","local surgery",5,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G2","negative",13,22,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",11 -"63","063",2018,66,"male","former","no","living","living",1258,"curative","local surgery",10,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,27,NA,"no","no","no","R0","Ris0","no","0.1","SCC_Conventional-Keratinizing",5 -"64","064",2015,66,"male","former","no","living","living",1087,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",7,68,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",2 -"65","065",2011,59,"male","smoker",NA,"living","living",1203,"curative","local surgery",26,NA,"no",NA,"no",NA,"no","yes",923,"yes",923,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","NX","G3","not_tested",NA,0,NA,"yes","no","yes","R0","Ris0","yes","0.2","SCC_Conventional-Keratinizing",15 -"66","066",2019,56,"male","smoker","no","deceased","deceased tumor specific",358,"curative","local surgery",9,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,39,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",2 -"67","067",2014,77,"female","smoker","no","deceased","deceased not tumor specific",972,"curative","local surgery",37,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,27,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",12 -"68","068",2013,92,"female","former","no","living","living",68,"curative","local surgery",20,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2b","G3","not_tested",2,16,"yes","yes","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",4 -"69","069",2014,73,"female","non-smoker","no","living","living",59,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","NX","hpv_association_p16","positive",NA,0,NA,"no","no","no","R1","CIS Absent","no","0","SCC_Conventional-NonKeratinizing",10 -"70","070",2016,73,"male","smoker","no","living","living",536,"curative","local surgery",18,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,39,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",5 -"71","071",2017,57,"male","smoker",NA,"deceased","deceased tumor specific",718,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","yes",127,"yes",127,NA,NA,"Lung",127,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN3b","G3","negative",3,24,"yes","no","yes","yes","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",19 -"72","072",2013,53,"female","smoker","no","living","living",2511,"curative","local surgery",45,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,36,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Basaloid",5 -"73","073",2012,51,"male","non-smoker","no","living","living",3232,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2","hpv_association_p16","positive",4,69,"yes","yes","yes","yes","R0","Ris0","yes","0.5","SCC_Sarcomatoid",30 -"74","074",2015,53,"male","smoker","no","living","living",2219,"curative","local surgery",8,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,27,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",12 -"75","075",2014,52,"male","smoker","no","living","living",2442,"curative","local surgery",32,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,31,NA,"yes","no","yes","R0","Ris0","no","0.1","SCC_Conventional-Keratinizing",18 -"76","076",2016,75,"male","non-smoker","no","living","living",1843,"curative","local surgery",52,"curative","yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,38,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Basaloid",11 -"77","077",2014,47,"male","former","no","living","living",2575,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2a","hpv_association_p16","positive",1,23,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",9 -"78","078",2018,59,"male","smoker","no","living","living",400,"curative","local surgery",7,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN3b","G3","negative",10,34,"yes","no","no","yes","R0","CIS Absent","no","0.6","SCC_Conventional-Keratinizing",6 -"79","079",2018,78,"male","former","no","living","living",481,"curative","local surgery",53,NA,"no",NA,"no","fluorouracil + cisplatin","no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN0","G3","not_tested",0,23,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Basaloid",12 -"80","080",2019,61,"male","smoker","no","living","living",680,"curative","local surgery",30,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","no","<0.1","SCC_Conventional-Keratinizing",8 -"81","081",2014,60,"male","former","no","deceased","deceased tumor specific",980,"curative","local surgery",32,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G3","not_tested",2,39,"no","yes","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",10 -"82","082",2018,61,"male","former","no","living","living",1059,"curative","local surgery",46,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",4 -"83","083",2015,84,"male","non-smoker","no","living","living",979,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN3","hpv_association_p16","positive",1,14,"yes","no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-NonKeratinizing",NA -"84","084",2013,72,"male","former","no","living","living",350,"curative","local surgery",27,NA,"yes",NA,"no","fluorouracil + carboplatin","no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",6 -"85","085",2017,57,"female","former","no","living","living",142,"curative","local surgery",75,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,8,NA,"no","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-Keratinizing",7 -"86","086",2015,56,"male","smoker","no","living","living",2079,"curative","local surgery",26,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN1","hpv_association_p16","positive",1,38,"no","yes","yes","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",15 -"87","087",2019,58,"male","former","no","living","living",798,"curative","local surgery",20,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2b","G3","not_tested",5,36,"no","no","yes","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",11 -"88","088",2010,64,"male","smoker",NA,"deceased","deceased tumor specific",105,"curative","local surgery",44,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2a","G2","negative",2,13,"yes","yes","no","yes","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",18 -"89","089",2012,54,"male","non-smoker","no","deceased","deceased not tumor specific",350,"curative","local surgery",48,NA,"no",NA,"no",NA,"no","yes",117,"yes",117,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"CUP","TX","pN2c","G3","negative",5,8,"yes","no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"90","090",2018,50,"male","non-smoker","no","living","living",1018,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,15,"no","no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-NonKeratinizing",8 -"91","091",2018,69,"male","smoker","no","living","living",901,"curative","local surgery",52,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G3","negative",1,52,"no","no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",4 -"92","092",2018,53,"male","smoker","no","living","living",1209,"curative","local surgery",39,NA,"yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN0","G3","not_tested",0,26,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",15 -"93","093",2010,60,"male","former","no","living","living",3722,"curative","local surgery",40,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,20,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",NA -"94","094",2012,53,"male","smoker","no","living","living",719,"curative","local surgery",36,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN1","G2","negative",1,67,"yes","no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",NA -"95","095",2009,55,"male","non-smoker","no","living","living",4233,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","G3","negative",3,43,"no","yes","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",5 -"96","096",2011,62,"male","smoker","yes","deceased","deceased not tumor specific",695,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,"SoftTissue",0,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G2","negative",3,21,"yes","no","no","no","R0","CIS Absent","no",NA,"SCC_Basaloid",7 -"97","097",2016,63,"male","smoker","no","living","living",131,"curative","local surgery",13,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,31,NA,"yes","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",7 -"98","098",2011,65,"male","non-smoker","no","deceased","deceased not tumor specific",2257,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","NX","G1","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,NA,NA -"99","099",2016,76,"female","non-smoker","no","living","living",709,"curative","local surgery",0,NA,"yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",468,"yes",468,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",20 -"100","100",2016,81,"male","former","no","living","living",847,"curative","local surgery",24,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",3 -"101","101",2012,71,"male","smoker",NA,"deceased","deceased tumor specific",604,"curative","local surgery",28,NA,"no",NA,"no",NA,"no","yes",420,"yes",420,NA,NA,"LymphNodes Lung",420,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",4,27,"yes","yes","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",11 -"102","102",2014,72,"male","non-smoker","no","living","living",1830,"curative","local surgery",12,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",999,"yes",999,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2b","G3","not_tested",2,47,"yes","no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"103","103",2012,70,"male","former","no","deceased","deceased tumor specific",752,"curative","local surgery",19,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,51,NA,"yes","yes","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",13 -"104","104",2016,55,"male","smoker","no","deceased","deceased tumor specific",677,"curative","local surgery",59,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",243,"yes",243,"yes",503,"Lung",243,"Pleura",503,NA,NA,NA,NA,"Oropharynx","pT1","pN3","G2","negative",4,31,"yes","no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-Keratinizing",NA -"105","105",2014,64,"male","non-smoker","no","living","living",2702,"curative","local surgery",40,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",147,"yes",147,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN1","G2","not_tested",1,36,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",1 -"106","106",2010,59,"male","smoker","no","deceased","deceased not tumor specific",3133,"curative","local surgery",50,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","NX","G3","negative",NA,0,NA,"no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",5 -"107","107",2015,52,"male","smoker","no","living","living",2176,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2a","hpv_association_p16","positive",1,20,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",5 -"108","108",2016,76,"female","non-smoker","no","living","living",1400,"curative","local surgery",10,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN0","G3","not_tested",0,43,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Basaloid",3 -"109","109",2010,50,"male","smoker","no","living","living",1870,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","hpv_association_p16","positive",4,54,"yes","yes","no","no","R0","Ris0","yes","0.1","SCC_Conventional-NonKeratinizing",9 -"110","110",2013,51,"male","smoker","no","living","living",57,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,31,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",6 -"111","111",2015,81,"female","non-smoker","no","deceased","deceased not tumor specific",1298,"curative","local surgery",40,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",11 -"112","112",2012,62,"male","former","no","living","living",3287,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G3","negative",2,44,"yes","no","no","yes","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",12 -"113","113",2018,61,"male","smoker","no","deceased","deceased tumor specific",102,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2c","G3","negative",3,27,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",NA -"114","114",2015,88,"male","non-smoker","no","deceased","deceased not tumor specific",713,"curative","local surgery",41,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2","hpv_association_p16","positive",3,37,"yes","no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",20 -"115","115",2015,71,"male","smoker","no","living","living",2267,"curative","local surgery",39,"curative","yes","percutaneous radiotherapy","yes","carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",2,46,"yes","yes","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",8 -"116","116",2016,52,"male","smoker","no","living","living",584,"curative","local surgery",10,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,11,NA,"no","no","yes","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",8 -"117","117",2018,78,"male","smoker","no","living","living",73,"curative","local surgery",17,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-NonKeratinizing",0.5 -"118","118",2012,70,"male","non-smoker","no","deceased","deceased tumor specific",64,"curative","local surgery",31,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G3","negative",2,42,"no","yes","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-NonKeratinizing",27 -"119","119",2012,57,"female","former","no","living","living",2984,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","G3","negative",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Basaloid",1 -"120","120",2017,76,"female","former","no","living","living",1293,"curative","local surgery",18,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,46,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",15 -"121","121",2012,60,"male","smoker","no","living","living",3204,"curative","local surgery",38,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G3","negative",1,46,"no","yes","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",10 -"122","122",2012,54,"male","non-smoker","no","deceased","deceased",2829,"curative","local surgery",20,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G2","not_tested",0,26,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",8 -"123","123",2018,78,"male","non-smoker","no","living","living",699,"curative","local surgery",40,"curative","no","percutaneous radiotherapy",NA,NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN2b","G3","not_tested",2,27,"no","yes","no","yes","R0","Ris0","yes","0.3","SCC_Conventional-NonKeratinizing",NA -"124","124",2016,85,"female","non-smoker","no","living","living",1463,"curative","local surgery",35,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","NX","G1","negative",NA,0,NA,"no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",3 -"125","125",2007,44,"male","smoker","no","deceased","deceased not tumor specific",2755,"curative","local surgery",19,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2b","G2","not_tested",4,46,"yes","yes","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",NA -"126","126",2014,73,"male","non-smoker","no","deceased","deceased not tumor specific",2264,"curative","local surgery",40,"palliative","yes","percutaneous radiotherapy","yes","cetuximab","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN2a","G2","not_tested",1,46,"no","no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-NonKeratinizing",NA -"127","127",2014,69,"male","non-smoker","no","living","living",2396,"curative","local surgery",21,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1b","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",2.8 -"128","128",2013,70,"male","non-smoker","no","living","living",2970,"curative","local surgery",23,NA,"no",NA,"no",NA,"no","yes",772,"yes",772,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,17,NA,"no","no","no","R1","Ris0","yes","0","SCC_Conventional-Keratinizing",3 -"129","129",2010,56,"male","non-smoker","no","deceased","deceased not tumor specific",3824,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2b","G3","not_tested",11,12,"yes","yes","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",8 -"130","130",2008,74,"male","smoker","no","living","living",1945,"curative","local surgery",35,NA,"yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN1","G1","not_tested",1,37,"no","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",16 -"131","131",2014,64,"male","smoker","no","living","living",156,"curative","local surgery",23,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2b","G3","not_tested",3,31,"yes","no","no","no","R0","CIS Absent","no","0.2","SCC_Basaloid",3 -"132","132",2015,67,"male","former","no","deceased","deceased not tumor specific",744,"curative","local surgery",33,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2c","G2","not_tested",5,28,"yes","yes","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"133","133",2015,53,"male","smoker","no","deceased","deceased tumor specific",549,"curative","local surgery",63,NA,"yes",NA,"yes",NA,"yes","yes",115,"yes",115,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT4a","pN2b","G3","not_tested",3,32,"yes","no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",13 -"134","134",2012,65,"male","former","no","living","living",639,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","hpv_association_p16","positive",2,23,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",11 -"135","135",2017,55,"male","smoker","no","living","living",1408,"curative","local surgery",33,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN0","G3","not_tested",0,15,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",12 -"136","136",2013,54,"male","smoker","no","deceased","deceased not tumor specific",1205,"curative","local surgery",25,NA,"yes",NA,"yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN1","G3","not_tested",1,56,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"137","137",2016,67,"female","smoker","no","deceased","deceased not tumor specific",1183,"curative","local surgery",10,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G3","not_tested",0,32,NA,"no","no","no","R0","Ris0","yes","0.4","SCC_Conventional-NonKeratinizing",7 -"138","138",2015,71,"male","non-smoker","no","living","living",2186,"curative","local surgery",10,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN3","hpv_association_p16","positive",3,15,"yes","no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-NonKeratinizing",2 -"139","139",2009,51,"male","smoker","no","deceased","deceased not tumor specific",3470,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2c","hpv_association_p16","positive",2,54,"no","no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",5 -"140","140",2015,62,"male","former","no","living","living",1931,"curative","local surgery",15,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-Keratinizing",4 -"141","141",2011,59,"male","non-smoker","no","deceased","deceased not tumor specific",3012,"curative","local surgery",8,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2c","hpv_association_p16","positive",7,22,"yes","yes","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",16 -"142","142",2014,60,"female","non-smoker","no","living","living",2739,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","G2","negative",NA,0,"no","no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",15 -"143","143",2011,42,"male","smoker",NA,"living","living",2139,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",492,"yes",492,NA,NA,"Lung",492,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",2,51,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",50 -"144","144",2011,69,"male","former","no","deceased","deceased not tumor specific",2961,"curative","local surgery",34,NA,"yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN1","G2","not_tested",1,30,"no","no","no","yes","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",21 -"145","145",2017,64,"male","former","no","living","living",1181,"curative","local surgery",18,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,NA,4.5 -"146","146",2016,47,"male","smoker","no","living","living",1484,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","yes",254,"yes",254,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,20,NA,"no","no","no","R0","Ris0","no","<0.1","SCC_Conventional-Keratinizing",9 -"147","147",2016,62,"male","smoker","no","deceased","deceased tumor specific",191,"curative","local surgery",4,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G3","not_tested",3,15,"no","no","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-Keratinizing",NA -"148","148",2014,67,"male","non-smoker","no","living","living",115,"curative","local surgery",38,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",3,27,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-NonKeratinizing",NA -"149","149",2012,54,"male",NA,"no","living","living",1806,"curative","local surgery",9,NA,"yes",NA,NA,NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN1","G3","not_tested",1,66,"no","no","no","yes","R0","Ris0","yes",NA,NA,NA -"150","150",2014,59,"male","smoker","no","living","living",240,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","yes","cisplatin + cetuximab","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",3,13,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",NA -"151","151",2013,61,"male","non-smoker","no","living","living",87,"curative","local surgery",31,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","hpv_association_p16","positive",0,12,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",4 -"152","152",2008,49,"male","non-smoker","no","living","living",1526,"curative","local surgery",21,NA,"yes",NA,"yes",NA,"yes","yes",1519,"yes",1519,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4b","pN2c","G3","not_tested",25,42,NA,"no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",NA -"153","153",2018,58,"male","smoker","no","living","living",1146,"curative","local surgery",53,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",196,"yes",719,"yes",726,"SoftTissue",719,"LymphNodes Lung",726,NA,NA,NA,NA,"Oropharynx","pT3","pN1","hpv_association_p16","positive",3,20,"yes","yes","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",NA -"154","154",2014,70,"male","non-smoker","yes","deceased","deceased tumor specific",449,"curative","local surgery",98,NA,"yes","percutaneous radiotherapy","yes","cisplatin + docetaxel","yes","no",NA,"yes",46,NA,NA,"Lung",152,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,27,NA,"yes","yes","yes","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",18 -"155","155",2017,47,"male","smoker","no","living","living",1484,"curative","local surgery",27,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN0","G2","not_tested",0,74,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",8 -"156","156",2019,57,"female","smoker","no","living","living",636,"curative","local surgery",54,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN0","G3","not_tested",0,30,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",14 -"157","157",2013,52,"male","former","no","living","living",411,"curative","local surgery",17,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN2a","G3","not_tested",1,49,"yes","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",13 -"158","158",2018,60,"male","smoker","no","living","living",954,"curative","local surgery",22,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",308,"yes",308,NA,NA,"LymphNodes",308,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",15,24,"yes","yes","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",NA -"159","159",2016,64,"male","non-smoker","no","living","living",1760,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","hpv_association_p16","positive",4,64,"yes","no","no","no","R0","CIS Absent","no","0.1","SCC_Basaloid",15 -"160","160",2009,48,"female","non-smoker","no","living","living",4234,"curative","local surgery",25,"curative","yes",NA,"yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,15,NA,"no","no","yes","R0","Ris0","yes","0.1","SCC_Conventional-NonKeratinizing",15 -"161","161",2017,52,"male","smoker","no","deceased","deceased not tumor specific",1107,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G3","not_tested",0,45,NA,"no","no","no","R0","CIS Absent","no","0.6","SCC_Conventional-NonKeratinizing",2.5 -"162","162",2016,65,"male","smoker","no","living","living",1896,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","G3","negative",NA,0,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-NonKeratinizing",4 -"163","163",2018,59,"male","former","no","living","living",966,"curative","local surgery",23,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",3 -"164","164",2019,72,"male","smoker","no","living","living",148,"curative","local surgery",8,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-Keratinizing",10 -"165","165",2009,64,"male","smoker","no","deceased","deceased tumor specific",3766,"curative","local surgery",33,NA,"yes","brachytherapy","no","fluorouracil + cisplatin","no","yes",3522,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN2b","G3","not_tested",9,27,"yes","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",5 -"166","166",2018,65,"male","non-smoker","no","living","living",1022,"curative","local surgery",9,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",3 -"167","167",2015,49,"male","smoker","no","deceased","deceased not tumor specific",757,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G2","negative",2,27,"no","yes","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",23 -"168","168",2018,59,"male","smoker","no","living","living",995,"curative","local surgery",31,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","pN0","G2","not_tested",0,16,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",1 -"169","169",2018,26,"female","former","no","living","living",35,"curative","local surgery",19,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,47,NA,"no","no","yes","R0","CIS Absent","no","0.7","SCC_Conventional-Keratinizing",12 -"170","170",2019,52,"male","smoker","no","deceased","deceased tumor specific",398,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",301,"yes",301,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","no",NA,"SCC_Conventional-Keratinizing",8 -"171","171",2014,78,"male","non-smoker","no","living","living",1055,"curative","local surgery",50,NA,"no",NA,"no",NA,"no","yes",636,"yes",636,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","pN1","G3","not_tested",1,4,"no","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-NonKeratinizing",7 -"172","172",2017,55,"male","smoker","no","living","living",1504,"curative","local surgery",28,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,33,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",4 -"173","173",2010,44,"male","smoker","no","deceased","deceased tumor specific",2453,"curative","local surgery",38,NA,"yes",NA,"yes","carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",3 -"174","174",2011,48,"male","former","no","living","living",157,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN0","G2","not_tested",0,2,NA,"yes","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",5 -"175","175",2011,73,"female","non-smoker","no","deceased","deceased not tumor specific",2814,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN0","G1","not_tested",0,23,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",2 -"176","176",2019,66,"male","non-smoker","no","deceased","deceased tumor specific",706,"curative","local surgery",14,"curative","yes","brachytherapy","yes","cisplatin + pembrolizumab","yes","yes",412,"yes",523,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","NX","G3","not_tested",NA,0,NA,"no","no","yes","R0","Ris0","no","0.5","SCC_Conventional-Keratinizing",4 -"177","177",2016,52,"male","non-smoker","no","living","living",380,"curative","local surgery",58,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN2a","G3","negative",1,67,"yes","no","no","yes","R0","CIS Absent","no",NA,"SCC_Conventional-NonKeratinizing",NA -"178","178",2019,74,"male","former","no","living","living",222,"curative","local surgery",8,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris1","yes","0.4","SCC_Conventional-Keratinizing",2 -"179","179",2015,78,"female","non-smoker","no","living","living",2275,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","yes",2275,"yes",2275,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.4","SCC_Conventional-NonKeratinizing",4 -"180","180",2014,52,"female","smoker","yes","living","living",419,"curative","local surgery",122,NA,"no",NA,"no","cisplatin + Docetaxel","no","no",NA,"yes",356,NA,NA,"Lung",54,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN2c","G3","not_tested",9,27,"yes","yes","yes","yes","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",28 -"181","181",2007,54,"male",NA,"yes","deceased","deceased tumor specific",612,"curative","local surgery",21,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",133,"yes",133,NA,NA,"Lung",446,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN2b","G3","not_tested",2,32,"yes","yes","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",13 -"182","182",2014,71,"male","non-smoker","no","living","living",2442,"curative","local surgery",53,NA,"yes",NA,"yes",NA,"yes","no",NA,"yes",52,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G3","not_tested",4,24,"yes","no","no","yes","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",7 -"183","183",2013,55,"male","smoker","no","living","living",164,"curative","local surgery",66,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",1 -"184","184",2017,50,"female","non-smoker","no","living","living",1360,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","yes","cisplatin + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,36,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",NA -"185","185",2019,66,"male","smoker","no","living","living",674,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN3b","G3","not_tested",9,49,"yes","yes","no","yes","R0","Ris0","no","0.4","SCC_Conventional-Keratinizing",12 -"186","186",2015,78,"male","former","no","living","living",1636,"curative","local surgery",19,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,10,NA,"no","no","yes","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",NA -"187","187",2017,71,"female","smoker","no","living","living",1520,"curative","local surgery",67,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,29,NA,"no","no","yes","R0","Ris0","no","<0.1","SCC_Conventional-NonKeratinizing",6 -"188","188",2017,62,"male","smoker","no","deceased","deceased tumor specific",318,"curative","local surgery",12,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",196,"yes",196,"yes",215,"Bones",196,"Liver",215,NA,NA,NA,NA,"Hypopharynx","pT2","pN3b","G3","not_tested",5,33,"yes","no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",2 -"189","189",2015,74,"male","non-smoker","no","living","living",1896,"curative","local surgery",34,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN1","G3","not_tested",1,26,"no","yes","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",12 -"190","190",2012,69,"male","smoker","no","deceased","deceased not tumor specific",3038,"curative","local surgery",36,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",7 -"191","191",2017,46,"female","smoker","no","living","living",1310,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,31,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",3 -"192","192",2009,69,"male","smoker","no","deceased","deceased not tumor specific",1314,"curative","local surgery",45,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN1","G3","not_tested",1,14,"no","no","no","yes","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",15 -"193","193",2011,52,"male","smoker",NA,"deceased","deceased not tumor specific",1007,"curative","local surgery",29,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","NX","G2","negative",NA,0,NA,"no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",3 -"194","194",2014,34,"female","smoker","no","living","living",2379,"curative","local surgery",53,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,36,NA,"no","no","yes","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",11 -"195","195",2018,48,"male","former","no","living","living",1000,"curative","local surgery",63,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN3b","G3","not_tested",6,17,"no","yes","no","no","R0","Ris0","no","0.5","SCC_Basaloid",6 -"196","196",2015,65,"male","smoker","no","living","living",102,"curative","local surgery",28,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"197","197",2011,61,"male","non-smoker","no","living","living",306,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2c","G3","not_tested",4,50,"yes","yes","no","no","R0","Ris0","no","0.5","Neuroendocrine_Carcinoma",NA -"198","198",2012,53,"female","former","no","living","living",195,"curative","local surgery",7,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,31,"no","yes","no","no","R0","Ris0","yes","0","SCC_Basaloid",NA -"199","199",2014,46,"male","smoker","no","deceased","deceased tumor specific",273,"curative","local surgery",39,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN3","G3","negative",10,40,"yes","yes","yes","no","R0","CIS Absent","no","0.4","SCC_Conventional-NonKeratinizing",NA -"200","200",2016,72,"female","non-smoker","no","living","living",1799,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,29,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",12 -"201","201",2016,82,"male","non-smoker","no","deceased","deceased not tumor specific",426,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",9,20,"yes","no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",9 -"202","202",2017,61,"male","former","no","living","living",485,"curative","local surgery",30,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","RX","Ris0","yes",NA,NA,1 -"203","203",2019,56,"female","former","no","living","living",484,"curative","local surgery",20,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",2 -"204","204",2011,65,"male","former",NA,"living","living",121,"curative","local surgery",30,"curative","yes","percutaneous radiotherapy","yes","+ chemotherapy (Abbruch!)","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","hpv_association_p16","positive",2,18,"yes","yes","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",3 -"205","205",2014,52,"male","smoker","no","living","living",2311,"curative","local surgery",37,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.6","SCC_Conventional-Keratinizing",3 -"206","206",2015,63,"male","former","no","living","living",2366,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G3","not_tested",3,41,"yes","no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",10 -"207","207",2013,53,"male","smoker","no","living","living",1337,"curative","local surgery",33,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,16,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",6 -"208","208",2018,72,"male","former","no","living","living",284,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN3b","G3","not_tested",3,38,"no","yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",3 -"209","209",2014,61,"male","former","no","living","living",2679,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","NX","hpv_association_p16","positive",NA,0,"no","no","no","no","R1","CIS Absent","no","0","SCC_Basaloid",12 -"210","210",2013,73,"male","non-smoker","no","living","living",789,"curative","local surgery",28,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN2b","G3","not_tested",2,41,"yes","no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",7 -"211","211",2016,63,"male","non-smoker","no","deceased","deceased tumor specific",1183,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",501,"yes",501,"yes",520,"Liver",501,"Lung LymphNodes",520,"Pleura",1166,NA,NA,"Hypopharynx","pT4a","pN0","G3","not_tested",0,40,NA,"yes","yes","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",NA -"212","212",2015,70,"female","former","no","living","living",2174,"curative","local surgery",42,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G3","negative",0,30,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Sarcomatoid",5 -"213","213",2014,72,"male","smoker","no","living","living",488,"curative","local surgery",29,"curative","yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,29,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",8 -"214","214",2017,66,"female","smoker","no","deceased","deceased tumor specific",15,"curative","local surgery",13,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN3","hpv_association_p16","positive",12,25,"yes","yes","no","no","R1","CIS Absent","no","0","SCC_Basaloid",7 -"215","215",2012,51,"female","former","no","living","living",3043,"curative","local surgery",20,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,52,"yes","no","no","yes","R0","Ris0","yes","0.1","SCC_Basaloid",9 -"216","216",2016,67,"male","smoker","no","deceased","deceased not tumor specific",1110,"curative","local surgery",41,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G1","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.1",NA,NA -"217","217",2015,70,"male","non-smoker","no","living","living",43,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,15,"no","yes","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",12 -"218","218",2012,63,"male","smoker","no","deceased","deceased tumor specific",229,"curative","local surgery",55,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",229,"yes",229,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2c","G2","not_tested",3,43,"yes","yes","no","yes","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",NA -"219","219",2018,56,"male","smoker","no","living","living",937,"curative","local surgery",38,NA,"no",NA,"no",NA,"no","yes",339,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,24,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-NonKeratinizing",2 -"220","220",2015,84,"male","non-smoker","no","deceased","deceased not tumor specific",253,"curative","local surgery",6,"curative","yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-NonKeratinizing",5 -"221","221",2014,51,"male","smoker","no","living","living",2533,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","G3","negative",2,45,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",4 -"222","222",2010,78,"male","non-smoker","no","living","living",3788,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","G3","negative",2,40,"no","yes","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",7 -"223","223",2019,71,"male","non-smoker","no","living","living",835,"curative","local surgery",16,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-NonKeratinizing",2 -"224","224",2012,69,"male","former","no","living","living",1301,"curative","local surgery",29,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",2 -"225","225",2015,73,"male","non-smoker","no","deceased","deceased not tumor specific",652,"curative","local surgery",17,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","G3","negative",NA,0,NA,"no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",9 -"226","226",2019,72,"male","former","no","living","living",896,"curative","local surgery",20,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",2 -"227","227",2006,50,"male",NA,"no","living","living",342,"curative","local surgery",23,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G2","not_tested",4,22,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",NA -"228","228",2016,72,"male","former","no","deceased","deceased tumor specific",29,"curative","local surgery",23,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN3","G3","not_tested",2,10,"yes","no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-NonKeratinizing",NA -"229","229",2010,62,"male","smoker","no","living","living",3629,"curative","local surgery",0,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,13,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",15 -"230","230",2015,66,"male","non-smoker","no","deceased","deceased not tumor specific",305,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G2","negative",0,16,NA,"no","no","yes","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",15 -"231","231",2016,72,"female","non-smoker","no","deceased","deceased tumor specific",72,"curative","local surgery",48,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",3,62,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",17 -"232","232",2013,54,"male","smoker","no","deceased","deceased not tumor specific",2445,"curative","local surgery",53,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G3","not_tested",2,33,"no","yes","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",8 -"233","233",2018,73,"male","non-smoker","no","living","living",919,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","G2","negative",NA,0,NA,"no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-NonKeratinizing",1 -"234","234",2018,74,"female","smoker","no","deceased","deceased tumor specific",54,"curative","local surgery",34,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN3b","G3","not_tested",2,20,"yes","no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",3 -"235","235",2018,60,"male","smoker","no","living","living",1223,"curative","local surgery",38,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,50,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",NA -"236","236",2018,60,"male","smoker","no","living","living",1185,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G3","negative",1,56,"no","yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",7 -"237","237",2014,58,"male","smoker","no","living","living",212,"curative","local surgery",42,"curative","no",NA,"no","cisplatin + Docetaxel","no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",2,18,"yes","no","no","yes","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",18 -"238","238",2014,70,"male","former","no","living","living",2472,"curative","local surgery",16,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",2269,"yes",2269,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","hpv_association_p16","positive",NA,0,NA,"no","no","no","R1","Ris0","yes","0","SCC_Basaloid",2 -"239","239",2013,64,"male","former","no","living","living",596,"curative","local surgery",26,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",5,52,"yes","yes","no","yes","R0","CIS Absent","no","0.1","SCC_Basaloid",17 -"240","240",2018,64,"male","former","no","living","living",954,"curative","local surgery",23,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN3b","G3","not_tested",2,34,"yes","no","no","no","R0","Ris1","yes","0.6","SCC_Conventional-NonKeratinizing",1 -"241","241",2014,63,"male","smoker","no","living","living",2428,"curative","local surgery",56,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,46,NA,"no","no","no","R0","Ris0","yes","0.8","SCC_Conventional-NonKeratinizing",8 -"242","242",2018,71,"male","former","no","living","living",125,"curative","local surgery",22,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",5 -"243","243",2019,71,"female","non-smoker","no","living","living",849,"curative","local surgery",35,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN0","G2","not_tested",0,21,NA,"no","no","no","R0","Ris0","no","0.6","SCC_Conventional-Keratinizing",12 -"244","244",2006,46,"male","non-smoker","no","living","living",2030,"curative","local surgery",37,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2c","G3","not_tested",4,49,NA,"no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",NA -"245","245",2016,45,"female","non-smoker","no","living","living",1629,"curative","local surgery",10,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","no",NA,"SCC_Conventional-Keratinizing",1.5 -"246","246",2013,40,"male","smoker","no","living","living",3024,"curative","local surgery",28,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G3","negative",2,45,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",4 -"247","247",2018,73,"male","former","no","living","living",1161,"curative","local surgery",22,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G1","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1",NA,1 -"248","248",2016,70,"male","smoker","no","living","living",1958,"curative","local surgery",21,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN2b","G3","not_tested",2,19,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",3 -"249","249",2007,64,"male","smoker","no","deceased","deceased tumor specific",1551,"curative","local surgery",47,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,16,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",7 -"250","250",2010,65,"male","smoker","no","deceased","deceased tumor specific",78,"curative","local surgery",31,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G2","negative",3,15,"no","yes","no","yes","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",NA -"251","251",2013,57,"male","smoker","no","living","living",2997,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","hpv_association_p16","positive",NA,0,NA,"no","no","no","R1","Ris0","yes","0","SCC_Conventional-NonKeratinizing",2 -"252","252",2017,60,"female","non-smoker","no","living","living",1631,"curative","local surgery",12,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","hpv_association_p16","positive",3,29,"no","yes","yes","no","R0","CIS Absent","no","0.5","SCC_Basaloid",3 -"253","253",2018,71,"female","smoker","yes","deceased","deceased tumor specific",244,"curative","local surgery",23,NA,"no","percutaneous radiotherapy","no",NA,"no","yes",88,"yes",88,NA,NA,"Liver",88,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2a","G3","not_tested",1,36,"yes","no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",NA -"254","254",2013,56,"female","smoker","no","living","living",2331,"curative","local surgery",70,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN2b","G3","not_tested",2,29,"yes","no","no","yes","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",NA -"255","255",2017,62,"female","smoker","no","deceased","deceased not tumor specific",967,"curative","local surgery",6,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G2","not_tested",0,8,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",16 -"256","256",2017,39,"male","smoker","no","living","living",1610,"curative","local surgery",36,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,29,NA,"no","no","no","R0","Ris0","no","0.5","SCC_Conventional-Keratinizing",4 -"257","257",2015,59,"male","former","no","living","living",2249,"curative","local surgery",42,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G3","negative",3,24,"yes","yes","yes","yes","R0","Ris0","yes","0.5","SCC_Conventional-NonKeratinizing",6 -"258","258",2013,40,"female","non-smoker","no","living","living",2064,"curative","local surgery",34,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,27,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",15 -"259","259",2018,64,"male","former","no","living","living",1108,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,16,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",NA -"260","260",2017,54,"male","non-smoker","no","living","living",301,"curative","local surgery",17,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN1","G3","not_tested",1,43,"no","no","no","yes","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",16 -"261","261",2012,75,"female","non-smoker","no","living","living",3423,"curative","local surgery",47,"curative","yes","brachytherapy","yes","carboplatin","yes","yes",2885,"yes",2885,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN3b","G1","not_tested",6,18,NA,"no","no","yes","R0","CIS Absent","no","1.1","SCC_Conventional-Keratinizing",8 -"262","262",2012,59,"male","smoker","no","living","living",3197,"curative","local surgery",49,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN2a","G2","not_tested",1,47,"yes","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"263","263",2017,60,"male","former","yes","deceased","deceased tumor specific",802,"curative","local surgery",45,NA,"yes","percutaneous radiotherapy","yes","carboplatin","yes","yes",147,"yes",147,NA,NA,"Lung",259,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G2","not_tested",0,10,NA,"no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",2 -"264","264",2012,76,"male","non-smoker","yes","deceased","deceased tumor specific",78,"curative","local surgery",22,NA,"no",NA,"no",NA,"no","yes",60,"yes",60,NA,NA,"OtherOrgans",60,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2c","G3","not_tested",2,13,"yes","yes","yes","yes","R0","Ris0","yes",NA,"SCC_Conventional-NonKeratinizing",NA -"265","265",2014,50,"male","smoker","no","living","living",293,"curative","local surgery",28,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN1","G3","not_tested",1,32,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",14 -"266","266",2014,53,"male","non-smoker","no","living","living",348,"curative","local surgery",55,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",259,"yes",259,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN3","G2","not_tested",1,22,"yes","yes","yes","yes","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",21 -"267","267",2014,70,"male","former","no","deceased","deceased not tumor specific",1039,"curative","local surgery",47,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,38,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",10 -"268","268",2014,52,"male","smoker","no","living","living",1796,"curative","local surgery",38,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2a","G3","negative",1,44,"yes","no","no","yes","R0","CIS Absent","no","0","SCC_Basaloid",21 -"269","269",2009,56,"male","smoker",NA,"living","living",1716,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN1","G2","not_tested",1,30,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",NA -"270","270",2017,62,"female","smoker","no","living","living",1109,"curative","local surgery",49,NA,"yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN1","G3","not_tested",1,29,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",3.5 -"271","271",2016,42,"male","smoker","no","living","living",1832,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN1","G3","not_tested",1,18,"no","no","no","yes","R0","CIS Absent","no","0.3","SCC_Conventional-Keratinizing",18 -"272","272",2014,75,"female","former","no","living","living",32,"curative","local surgery",18,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,41,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",17 -"273","273",2019,66,"female","non-smoker","no","living","living",742,"curative","local surgery",19,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,11,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",1 -"274","274",2016,61,"male","non-smoker","no","living","living",1745,"curative","local surgery",31,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN2b","G2","not_tested",2,13,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",1.5 -"275","275",2015,56,"male","smoker","no","living","living",1818,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,19,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",4.5 -"276","276",2015,56,"male","former","no","living","living",1888,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN2a","G3","negative",1,40,"yes","no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",17 -"277","277",2016,64,"male","smoker","no","living","living",251,"curative","local surgery",28,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2b","G3","not_tested",3,42,"yes","no","no","yes","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",24 -"278","278",2013,52,"male","smoker","no","deceased","deceased tumor specific",633,"curative","local surgery",19,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",264,"yes",264,"yes",501,"Lung",264,"LymphNodes",432,"Brain Skin",501,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",6,25,"yes","yes","yes","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",6 -"279","279",2015,49,"male","former","no","living","living",2308,"curative","local surgery",8,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,24,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",1 -"280","280",2017,49,"male","smoker","no","living","living",1365,"curative","local surgery",22,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G1","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",5 -"281","281",2015,64,"male","smoker","no","living","living",1372,"curative","local surgery",27,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",1 -"282","282",2015,74,"male","non-smoker","no","living","living",2350,"curative","local surgery",19,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN1","G3","not_tested",1,24,"no","no","no","no","R0","CIS Absent","no",NA,"SCC_Basaloid",7 -"283","283",2009,53,"male","smoker","no","living","living",4097,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,22,NA,"yes","yes","no","R0","CIS Absent","no","0.5","SCC_Basaloid",NA -"284","284",2010,74,"male","non-smoker",NA,"deceased","deceased not tumor specific",2415,"curative","local surgery",47,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2c","G2","not_tested",3,51,"yes","yes","no","yes","R1","Ris0","yes","0","SCC_Conventional-Keratinizing",45 -"285","285",2015,56,"male","smoker","no","living","living",2086,"curative","local surgery",43,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,32,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",4 -"286","286",2009,42,"male","former","no","living","living",2919,"curative","local surgery",35,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G3","negative",1,41,"no","yes","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-Keratinizing",9 -"287","287",2016,64,"male","non-smoker","no","deceased","deceased",368,"curative","local surgery",41,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","G2","negative",9,53,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",1 -"288","288",2018,72,"female","non-smoker","no","living","living",1075,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",4 -"289","289",2018,67,"male","non-smoker","yes","living","living",740,"curative","local surgery",31,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",713,"yes",740,NA,NA,"LymphNodes",713,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G3","not_tested",2,44,"no","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",9 -"290","290",2012,58,"female","former","no","living","living",2824,"curative","local surgery",35,"curative","yes","brachytherapy + brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2a","G3","not_tested",1,58,"no","no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",3 -"291","291",2017,62,"male","former","no","living","living",1401,"curative","local surgery",310,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"yes",303,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G3","not_tested",0,44,NA,"no","no","no","R0","CIS Absent","no","0.7","SCC_Conventional-Keratinizing",11 -"292","292",2018,59,"male","smoker","no","deceased","deceased not tumor specific",468,"curative","local surgery",79,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN0","G3","negative",0,31,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",24 -"293","293",2012,60,"male","former","no","living","living",2682,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN1","hpv_association_p16","positive",1,52,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",15 -"294","294",2015,65,"male","smoker","no","living","living",2135,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",204,"yes",204,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G2","not_tested",0,24,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"295","295",2015,66,"male","smoker","yes","deceased","deceased not tumor specific",196,"curative","local surgery",17,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","yes",191,"yes",191,NA,NA,"Peritoneum",191,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT4a","pN3","G3","not_tested",2,19,"no","no","yes","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",15 -"296","296",2012,55,"female","non-smoker","no","deceased","deceased not tumor specific",55,"curative","local surgery",30,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","hpv_association_p16","positive",3,35,"no","no","yes","yes","R0","Ris0","yes","0.5","SCC_Sarcomatoid",13 -"297","297",2019,67,"female","non-smoker","no","deceased","deceased tumor specific",127,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN3b","G3","not_tested",4,59,"yes","no","no","no","R0","CIS Absent","no","0.1","SCC_Basaloid",4 -"298","298",2011,71,"female","non-smoker",NA,"deceased","deceased tumor specific",170,"curative","local surgery",29,NA,"no",NA,"no",NA,"no","yes",161,"yes",161,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN3","G3","negative",5,19,"yes","yes","yes","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"299","299",2017,58,"male","former","no","living","living",1379,"curative","local surgery",39,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,36,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",3 -"300","300",2015,74,"male","former","no","living","living",211,"curative","local surgery",40,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",187,"yes",187,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2c","G3","not_tested",3,20,"yes","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"301","301",2007,57,"male",NA,"yes","deceased","deceased tumor specific",335,"curative","local surgery",31,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",261,"yes",261,NA,NA,"Skin",261,"LymphNodes SoftTissue",334,NA,NA,NA,NA,"Larynx","pT2","pN2c","G2","not_tested",6,50,"yes","no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",12 -"302","302",2016,71,"male","smoker","yes","living","living",700,"curative","local surgery",57,NA,"yes","percutaneous radiotherapy","yes","cisplatin + docetaxel","yes","yes",700,"yes",700,NA,NA,"Lung",700,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",4,22,"yes","yes","no","yes","R1","CIS Absent","no","0","SCC_Basaloid",25 -"303","303",2017,52,"male","former","no","living","living",503,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",383,"yes",383,NA,NA,"Pleura",383,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN3b","G3","negative",5,47,"yes","no","yes","yes","R0","CIS Absent","no","0.5","SCC_Acantholytic",12 -"304","304",2007,54,"male","smoker","no","deceased","deceased tumor specific",2076,"curative","local surgery",17,NA,"no",NA,"no",NA,"no","yes",1563,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G3","negative",2,15,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",8 -"305","305",2016,47,"male","smoker","yes","living","living",547,"curative","local surgery",8,NA,"no",NA,"no",NA,"no","yes",546,"yes",546,NA,NA,"LymphNodes Lung Bones Liver",546,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,8,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",13 -"306","306",2013,56,"male","former","no","living","living",2773,"curative","local surgery",7,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","yes",274,"yes",274,NA,NA,"Lung",274,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN1","G2","negative",1,31,"yes","yes","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",22 -"307","307",2012,56,"male","smoker","no","living","living",3325,"curative","local surgery",26,NA,"yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,26,NA,"no","no","yes","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",6 -"308","308",2019,70,"male","smoker","no","living","living",802,"curative","local surgery",19,"curative","yes",NA,"no",NA,"no","yes",743,"yes",743,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",4 -"309","309",2011,68,"male","former","no","deceased","deceased not tumor specific",1996,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",3 -"310","310",2019,47,"male","smoker","no","living","living",748,"curative","local surgery",32,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,31,NA,"no","no","yes","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",5 -"311","311",2007,52,"female","smoker","no","deceased","deceased tumor specific",1574,"curative","local surgery",45,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2c","G2","not_tested",2,26,NA,"no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",9 -"312","312",2015,75,"female","smoker","no","deceased","deceased tumor specific",478,"curative","local surgery",63,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN1","G3","not_tested",1,43,"no","no","no","yes","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",10 -"313","313",2019,51,"male","smoker","no","living","living",607,"curative","local surgery",13,NA,"yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",1 -"314","314",2011,45,"male","non-smoker",NA,"deceased","deceased tumor specific",1080,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",720,"yes",720,"yes",1047,"Lung",720,"LymphNodes",1047,NA,NA,NA,NA,"Hypopharynx","pT3","pN3","G2","not_tested",13,55,"yes","yes","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",6 -"315","315",2016,66,"female","smoker","no","living","living",1679,"curative","local surgery",19,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN2c","G3","not_tested",3,32,"yes","no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-Keratinizing",10 -"316","316",2017,67,"male","smoker","no","deceased","deceased tumor specific",827,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",359,"yes",359,"yes",485,"Lung",359,"Brain Liver LymphNodes",485,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",9,21,"yes","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",5 -"317","317",2016,55,"male","smoker","yes","living","living",1838,"curative","local surgery",20,NA,"yes","percutaneous radiotherapy","yes","cisplatin + Docetaxel","yes","yes",200,"yes",200,NA,NA,"Lung",1404,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",4 -"318","318",2018,64,"male","smoker","no","living","living",880,"curative","local surgery",13,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,NA,NA -"319","319",2014,54,"male","smoker","no","living","living",2608,"curative","local surgery",73,"curative","yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,29,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",11 -"320","320",2018,77,"male","non-smoker","yes","living","living",38,"curative","local surgery",24,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,"Skin",24,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","NX","G3","not_tested",NA,0,NA,"yes","no","no","R0","Ris0","no","0.5","SCC_Basaloid",11 -"321","321",2007,56,"male","non-smoker","no","living","living",4963,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G2","negative",1,24,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",NA -"322","322",2016,68,"female","former","no","living","living",1941,"curative","local surgery",4,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,17,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Basaloid",4 -"323","323",2014,60,"female","smoker","no","living","living",1378,"curative","local surgery",20,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-NonKeratinizing",2 -"324","324",2009,69,"female","non-smoker",NA,"deceased","deceased tumor specific",708,"curative","local surgery",63,NA,"no",NA,"no",NA,"no","yes",609,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","NX","G3","not_tested",NA,0,NA,"yes","no","no","R0","Ris0","yes","0.5","SCC_Conventional-NonKeratinizing",7 -"325","325",2014,52,"male","smoker","no","deceased","deceased tumor specific",1147,"curative","local surgery",24,NA,"yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",185,"yes",185,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN1","G2","not_tested",1,39,"no","no","no","no","R0","CIS Absent","no","0.4","SCC_Conventional-Keratinizing",5 -"326","326",2018,62,"male","smoker","no","deceased","deceased tumor specific",838,"curative","local surgery",12,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",438,"yes",438,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G2","negative",1,27,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",2 -"327","327",2016,63,"male","former","no","living","living",1316,"curative","local surgery",21,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2c","hpv_association_p16","positive",17,28,"yes","yes","no","yes","RX","CIS Absent","no",NA,"SCC_Conventional-NonKeratinizing",10 -"328","328",2014,78,"male","non-smoker","no","deceased","deceased not tumor specific",784,"curative","local surgery",17,"curative","yes","brachytherapy","no",NA,"no","yes",384,"yes",384,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,15,NA,"no","no","no","R0","CIS Absent","no","0.4","SCC_Conventional-Keratinizing",12 -"329","329",2016,60,"male","smoker","no","living","living",1811,"curative","local surgery",71,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",3,34,"no","no","no","no","R0","Ris0","yes",NA,"SCC_Basaloid",2 -"330","330",2018,77,"male","smoker","no","deceased","deceased not tumor specific",367,"curative","local surgery",10,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN1","G3","not_tested",1,25,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",NA -"331","331",2011,58,"female","smoker","no","living","living",3046,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",945,"yes",945,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,13,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",12 -"332","332",2012,58,"male","smoker","no","living","living",178,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",175,"yes",175,NA,NA,"Lung",175,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G3","not_tested",5,27,"yes","yes","no","yes","R0","CIS Absent","no","0.5","SCC_Basaloid",3 -"333","333",2014,61,"male","smoker","no","deceased","deceased tumor specific",999,"curative","local surgery",40,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN2b","G3","not_tested",2,26,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",4 -"334","334",2016,65,"male","non-smoker","no","deceased","deceased tumor specific",645,"curative","local surgery",23,"curative","no",NA,"no","cetuximab","no","yes",567,"yes",567,NA,NA,"Skin",567,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","NX","G3","negative",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",15 -"335","335",2014,45,"male","smoker","no","deceased","deceased not tumor specific",942,"curative","local surgery",20,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G2","not_tested",0,61,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",NA -"336","336",2016,59,"male","non-smoker","no","living","living",1901,"curative","local surgery",25,"curative","yes","brachytherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2c","G2","not_tested",6,31,"no","no","no","yes","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",6 -"337","337",2016,66,"male","non-smoker","no","living","living",1828,"curative","local surgery",48,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","yes",258,"yes",258,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G3","not_tested",0,2,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",9 -"338","338",2017,58,"male","smoker","no","living","living",1547,"curative","local surgery",54,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin + docetaxel","yes","no",NA,"yes",36,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G2","not_tested",0,40,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",NA -"339","339",2016,51,"male","non-smoker","no","living","living",1629,"curative","local surgery",17,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",2,21,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",NA -"340","340",2016,59,"male","former","yes","deceased","deceased tumor specific",1753,"curative","local surgery",25,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",287,"yes",287,NA,NA,"Lung",287,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN2b","G3","not_tested",3,17,"no","no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-NonKeratinizing",10 -"341","341",2016,49,"male","smoker","no","living","living",1879,"curative","local surgery",9,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",2,48,"no","no","no","yes","R0","Ris1","yes","<0.1","SCC_Basaloid",10 -"342","342",2016,63,"male","former","no","deceased","deceased not tumor specific",1599,"curative","local surgery",20,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","G3","negative",NA,0,NA,"no","no","no","R0","Ris0","no","0.2","SCC_Basaloid",4 -"343","343",2015,63,"female","smoker","no","living","living",2254,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,61,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",5 -"344","344",2014,52,"male","smoker","no","living","living",2330,"curative","local surgery",11,NA,"yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN0","G3","negative",0,39,NA,"yes","yes","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",18 -"345","345",2010,59,"female","former","no","deceased","deceased not tumor specific",2822,"curative","local surgery",65,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,53,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",12 -"346","346",2017,67,"male","former","no","living","living",1479,"curative","local surgery",43,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G2","negative",0,10,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",4 -"347","347",2013,54,"male","smoker","no","living","living",1838,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G3","negative",0,31,NA,"no","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-NonKeratinizing",7 -"348","348",2012,64,"male","non-smoker","no","living","living",3060,"curative","local surgery",37,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2","hpv_association_p16","positive",3,45,"no","no","no","no","R0","Ris0","yes","0","SCC_Lymphoepithelial",15 -"349","349",2013,58,"male","smoker","no","deceased","deceased tumor specific",796,"curative","local surgery",16,NA,"no",NA,"no",NA,"no","yes",64,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN3","G3","negative",1,19,"yes","no","yes","no","R0","CIS Absent","no","0.5","SCC_Basaloid",NA -"350","350",2012,63,"male","former","no","living","living",3007,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,26,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Lymphoepithelial",5 -"351","351",2018,56,"male","smoker","no","living","living",242,"curative","local surgery",41,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN1","G3","not_tested",1,36,"no","no","no","yes","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"352","352",2017,70,"male","smoker","no","living","living",1211,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN3b","G3","negative",3,43,"no","no","no","no","R0","CIS Absent","no","0.3","SCC_Basaloid",11 -"353","353",2015,68,"female","non-smoker","no","living","living",2233,"curative","local surgery",42,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT4a","pN0","G3","not_tested",0,60,NA,"no","no","no","R0","CIS Absent","no","0.4","SCC_Conventional-Keratinizing",25 -"354","354",2017,40,"male","former","no","living","living",1456,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN0","G2","not_tested",0,90,NA,"no","no","yes","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",16 -"355","355",2013,65,"male","former","no","living","living",29,"curative","local surgery",13,NA,"no",NA,"no","fluorouracil + carboplatin","no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2c","G2","not_tested",4,36,"yes","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"356","356",2010,52,"male","smoker","no","living","living",1521,"curative","local surgery",27,NA,"no",NA,"no",NA,"no","yes",328,"yes",882,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN1","G2","not_tested",1,28,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",8 -"357","357",2015,69,"male","smoker","no","living","living",1685,"curative","local surgery",18,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","G3","negative",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",5 -"358","358",2014,57,"female","smoker","no","living","living",2372,"curative","local surgery",31,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2a","G2","negative",1,58,"no","no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-NonKeratinizing",10 -"359","359",2015,67,"male","smoker","no","living","living",1399,"curative","local surgery",32,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",1210,"yes",1210,NA,NA,"Lung",1210,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN3","G3","negative",9,17,"yes","no","no","yes","R1","Ris0","yes","0","SCC_Conventional-Keratinizing",8 -"360","360",2016,74,"female","former","no","living","living",1612,"curative","local surgery",17,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",3,54,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",16 -"361","361",2017,61,"male","non-smoker","no","living","living",1553,"curative","local surgery",12,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",2,34,"no","no","no","no","R0","Ris0","no","0.5","SCC_Basaloid",17 -"362","362",2013,56,"male","smoker","no","living","living",2494,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",5,35,"no","yes","no","no","R0","Ris0","yes","0.3","SCC_Conventional-Keratinizing",NA -"363","363",2016,73,"male","former","no","living","living",1699,"curative","local surgery",12,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",2 -"364","364",2008,62,"male","non-smoker","no","living","living",2845,"curative","local surgery",47,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN0","G2","not_tested",0,52,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"365","365",2012,42,"male","smoker","no","living","living",225,"curative","local surgery",24,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,38,NA,"no","no","yes","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",8 -"366","366",2006,57,"male",NA,"no","living","living",2612,"curative","local surgery",23,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN1","G3","not_tested",1,30,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",NA -"367","367",2015,62,"male","former","no","living","living",2217,"curative","local surgery",7,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","NX","hpv_association_p16","positive",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",21 -"368","368",2016,63,"female","non-smoker","no","living","living",1748,"curative","local surgery",36,NA,"yes","brachytherapy","no",NA,"no","yes",1484,"yes",1484,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,20,NA,"no","no","no","R0","Ris0","no",NA,"SCC_Conventional-Keratinizing",1.5 -"369","369",2007,56,"male","smoker","no","deceased","deceased tumor specific",3760,"curative","local surgery",17,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,30,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",9 -"370","370",2012,54,"male","smoker","no","living","living",1797,"curative","local surgery",0,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",54,"yes",54,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN1","G3","not_tested",2,24,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",3 -"371","371",2008,69,"male","non-smoker","no","living","living",3751,"curative","local surgery",25,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G3","negative",0,29,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"372","372",2014,56,"male","former","no","living","living",2475,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",2,39,"yes","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",6 -"373","373",2017,64,"male","smoker","no","living","living",920,"curative","local surgery",42,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN3b","G3","negative",5,36,"yes","yes","yes","no","R1","Ris0","yes","0","SCC_Basaloid",NA -"374","374",2013,54,"female","smoker","no","living","living",196,"curative","local surgery",58,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN2a","G2","not_tested",1,12,"yes","no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",5 -"375","375",2018,45,"male","former","no","living","living",1251,"curative","local surgery",19,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G2","not_tested",0,60,NA,"no","no","yes","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",9 -"376","376",2017,72,"male","smoker","no","living","living",1370,"curative","local surgery",10,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,47,NA,"no","no","no","R0","Ris0","no","0.5","SCC_Conventional-NonKeratinizing",5 -"377","377",2013,64,"female","smoker","no","deceased","deceased not tumor specific",1342,"curative","local surgery",38,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN0","G2","not_tested",0,23,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",6 -"378","378",2018,72,"male","non-smoker","no","living","living",849,"curative","local surgery",15,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",2 -"379","379",2018,74,"male","non-smoker","no","deceased","deceased",106,"curative","local surgery",60,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN3b","G3","negative",52,68,"yes","yes","yes","no","R0","Ris0","yes","0.3","SCC_Conventional-Keratinizing",6 -"380","380",2017,57,"male","smoker","no","living","living",56,"curative","local surgery",43,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",4 -"381","381",2013,58,"female","non-smoker","yes","deceased","deceased tumor specific",1177,"curative","local surgery",25,NA,"yes",NA,"no",NA,"no","yes",945,"yes",945,NA,NA,"Lung",945,"Lung",1134,NA,NA,NA,NA,"Larynx","pT3","pN0","G2","not_tested",0,48,NA,"no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-Keratinizing",13 -"382","382",2016,55,"male","smoker","no","deceased","deceased tumor specific",965,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",94,"yes",94,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2c","G3","negative",4,49,"yes","no","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-NonKeratinizing",NA -"383","383",2016,60,"male","smoker","no","deceased","deceased tumor specific",1479,"curative","local surgery",4,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",1305,"yes",1305,"yes",1473,"Pleura",1305,"Peritoneum LymphNodes",1473,NA,NA,NA,NA,"Hypopharynx","pT1","pN2b","G3","not_tested",2,18,"no","no","no","no","RX","Ris0","yes",NA,"SCC_Conventional-NonKeratinizing",4 -"384","384",2011,66,"male","smoker",NA,"deceased","deceased tumor specific",291,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",169,"yes",78,NA,NA,"Liver",78,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","NX","G2","not_tested",NA,0,NA,"yes","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",8 -"385","385",2014,57,"male","smoker","no","deceased","deceased tumor specific",562,"curative","local surgery",35,"curative","yes","percutaneous radiotherapy","yes","carboplatin","yes","yes",86,"yes",86,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN1","G3","negative",1,46,"no","no","no","yes","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",12 -"386","386",2018,68,"male","former","no","living","living",362,"curative","local surgery",63,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1b","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",NA -"387","387",2014,50,"male","former","no","living","living",315,"curative","local surgery",26,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",4,24,"no","no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",5 -"388","388",2012,90,"male","non-smoker","no","living","living",148,"curative","local surgery",31,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G2","not_tested",11,41,"yes","no","no","yes","R0","CIS Absent","no","0.3","SCC_Conventional-Keratinizing",8 -"389","389",2013,56,"male","former","no","living","living",3088,"curative","local surgery",35,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,35,NA,"no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",7 -"390","390",2016,61,"male","former","no","living","living",1751,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,52,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",8 -"391","391",2012,60,"male","smoker","no","deceased","deceased tumor specific",1072,"curative","local surgery",18,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",670,"yes",670,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,46,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Acantholytic",7 -"392","392",2018,69,"male","former","no","living","living",1128,"curative","local surgery",29,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G1","not_tested",0,21,NA,"no","no","no","R0","CIS Absent","no","0.6",NA,1 -"393","393",2013,57,"male","former","no","living","living",2499,"curative","local surgery",36,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN2b","G3","not_tested",3,37,"no","yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",6 -"394","394",2018,40,"male","smoker","no","living","living",350,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN2c","G3","not_tested",3,39,"yes","no","no","yes","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",13 -"395","395",2018,71,"female","former","no","living","living",222,"curative","local surgery",79,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN3b","G3","not_tested",11,43,"yes","no","no","no","R0","Ris0","yes",NA,"SCC_Basaloid",1.5 -"396","396",2013,51,"male","smoker","no","living","living",2737,"curative","local surgery",33,NA,"yes",NA,"yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,51,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"397","397",2015,42,"male","former","no","living","living",2149,"curative","local surgery",43,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,31,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",6 -"398","398",2013,59,"male","former","no","living","living",2578,"curative","local surgery",10,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,20,NA,"no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-NonKeratinizing",8 -"399","399",2015,67,"male","smoker","no","deceased","deceased tumor specific",113,"curative","local surgery",58,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","NX","hpv_association_p16","positive",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.3","SCC_Basaloid",NA -"400","400",2018,64,"male","non-smoker","no","living","living",335,"curative","local surgery",17,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",2,18,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",9 -"401","401",2017,79,"male","smoker","no","living","living",931,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G2","not_tested",0,24,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"402","402",2013,54,"female","smoker","no","living","living",2728,"curative","local surgery",32,NA,"yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G3","not_tested",0,47,NA,"no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"403","403",2014,73,"male","non-smoker","no","deceased","deceased tumor specific",842,"curative","local surgery",43,NA,"no",NA,"no",NA,"no","yes",804,"yes",804,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G3","negative",1,33,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-NonKeratinizing",3 -"404","404",2016,54,"female","former","no","living","living",1346,"curative","local surgery",21,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G2","negative",1,38,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",6 -"405","405",2018,57,"male","smoker","yes","living","living",954,"curative","local surgery",62,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,"LymphNodes",13,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN3b","G3","negative",3,40,"yes","no","no","no","R1","CIS Absent","no","0","SCC_Conventional-NonKeratinizing",1 -"406","406",2011,73,"male","former","no","living","living",234,"curative","local surgery",3,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G1","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",2 -"407","407",2017,64,"male","former","no","living","living",1220,"curative","local surgery",21,"curative","no",NA,"yes","carboplatin + Docetaxel","no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",3,30,"yes","no","no","no","R0","Ris0","no","0.5","SCC_Basaloid",10 -"408","408",2018,53,"female","former","no","living","living",1054,"curative","local surgery",11,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","RX","CIS Absent","no",NA,NA,5 -"409","409",2016,76,"male","smoker","no","living","living",1676,"curative","local surgery",52,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,54,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",10 -"410","410",2012,61,"female","non-smoker","no","living","living",2911,"curative","local surgery",20,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,42,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",6 -"411","411",2014,59,"male","former","no","living","living",2428,"curative","local surgery",50,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,38,NA,"no","no","no","RX","Ris0","yes",NA,"SCC_Conventional-Keratinizing",6 -"412","412",2014,54,"male","former","no","living","living",2436,"curative","local surgery",26,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-NonKeratinizing",2 -"413","413",2013,43,"male","smoker","no","living","living",2789,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN1","G3","negative",1,53,"no","no","no","yes","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"414","414",2017,52,"male","smoker","no","living","living",960,"curative","local surgery",20,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G3","negative",1,49,"no","no","no","yes","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",4 -"415","415",2015,73,"male","former","no","deceased","deceased tumor specific",705,"curative","local surgery",4,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","yes",353,"yes",353,"yes",494,"Lung",354,"SoftTissue",494,NA,NA,NA,NA,"Oropharynx","pT4b","pN3","hpv_association_p16","positive",12,49,"yes","yes","yes","no","R1","CIS Absent","no","0","SCC_Basaloid",NA -"416","416",2013,74,"male","former","no","living","living",24,"curative","local surgery",15,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",4.5 -"417","417",2008,54,"female","non-smoker","no","deceased","deceased tumor specific",145,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","hpv_association_p16","positive",0,41,NA,"yes","yes","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",NA -"418","418",2016,69,"female","non-smoker","yes","deceased","deceased tumor specific",548,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin + cetuximab","yes","yes",388,"yes",388,NA,NA,"Lung",390,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN1","G3","not_tested",1,12,"no","no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",6 -"419","419",2013,61,"male","smoker","no","living","living",2669,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN3","hpv_association_p16","positive",1,25,"yes","no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",6 -"420","420",2013,58,"male","non-smoker","no","living","living",2853,"curative","local surgery",2,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,20,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",2 -"421","421",2017,53,"male","non-smoker","no","deceased","deceased tumor specific",891,"curative","local surgery",12,NA,"yes","brachytherapy","yes","cisplatin","yes","yes",405,"yes",405,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","no","<0.1","SCC_Conventional-Keratinizing",13 -"422","422",2018,50,"male","former","no","living","living",1185,"curative","local surgery",21,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",2,40,"no","no","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",9 -"423","423",2011,55,"female","former",NA,"living","living",3037,"curative","local surgery",32,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2","hpv_association_p16","positive",10,67,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",12 -"424","424",2014,44,"male","smoker","no","deceased","deceased not tumor specific",414,"curative","local surgery",43,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",135,"yes",135,NA,NA,"Lung",135,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G3","not_tested",8,43,"yes","yes","no","yes","R0","Ris0","yes","<0.1","SCC_Basaloid",NA -"425","425",2014,70,"female","former","no","living","living",261,"curative","local surgery",24,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G3","not_tested",0,13,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"426","426",2018,64,"female","former","no","living","living",415,"curative","local surgery",23,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,10,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",3 -"427","427",2013,54,"male","former","no","living","living",2810,"curative","local surgery",16,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","hpv_association_p16","positive",3,25,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",7 -"428","428",2018,60,"male","non-smoker","no","living","living",1121,"curative","local surgery",141,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-NonKeratinizing",NA -"429","429",2016,69,"male","smoker","yes","living","living",1835,"curative","local surgery",15,NA,"no",NA,"no",NA,"no","yes",696,"yes",696,NA,NA,"Lung",1380,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",3 -"430","430",2016,65,"female","smoker","no","living","living",1720,"curative","local surgery",26,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","hpv_association_p16","positive",0,26,NA,"no","yes","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",7 -"431","431",2017,72,"male","former","no","living","living",1323,"curative","local surgery",9,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,5,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",11 -"432","432",2013,72,"male","smoker","no","living","living",1230,"curative","local surgery",33,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",237,"yes",237,NA,NA,"Lung",237,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,39,NA,"no","yes","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",17 -"433","433",2011,47,"male","smoker","no","deceased","deceased tumor specific",2194,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",1118,"yes",1865,NA,NA,"Brain",1865,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,59,NA,"no","no","yes","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",4 -"434","434",2016,63,"male","smoker","yes","deceased","deceased tumor specific",1418,"curative","local surgery",64,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",683,"yes",683,"yes",683,"Lung",60,"Lung",683,"Lung",1196,NA,NA,"Hypopharynx","pT1","pN2","G3","not_tested",16,27,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",NA -"435","435",2015,75,"male","non-smoker","no","deceased","deceased tumor specific",413,"curative","local surgery",38,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,16,NA,"no","no","no","R0","CIS Absent","no","0.3",NA,NA -"436","436",2012,51,"male","smoker","no","deceased","deceased tumor specific",515,"curative","local surgery",38,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",250,"yes",250,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G2","negative",0,55,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",10 -"437","437",2013,64,"male","non-smoker","yes","deceased","deceased tumor specific",1684,"curative","local surgery",30,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin + carboplatin","yes","yes",182,"yes",182,NA,NA,"Lung",182,"Lung",466,"Lung Liver",946,NA,NA,"Larynx","pT4a","pN1","G3","not_tested",1,24,"no","yes","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"438","438",2017,67,"male","smoker","no","living","living",247,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT4a","pN2b","G3","not_tested",2,79,"no","no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",14 -"439","439",2013,41,"male","smoker","no","living","living",392,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",309,"yes",309,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN2b","G3","negative",3,35,"yes","yes","yes","yes","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",25 -"440","440",2013,79,"male",NA,"no","deceased","deceased",180,"curative","local surgery",69,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,31,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",8 -"441","441",2013,58,"male","non-smoker","no","living","living",2807,"curative","local surgery",26,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",2,34,"no","yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",NA -"442","442",2019,63,"female","former","no","living","living",729,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN1","hpv_association_p16","positive",2,27,"yes","no","no","no","R0","Ris0","yes","0.3","SCC_Basaloid",NA -"443","443",2013,62,"male","non-smoker","no","living","living",2744,"curative","local surgery",1,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,29,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",18 -"444","444",2006,63,"male",NA,"no","deceased","deceased tumor specific",2038,"curative","local surgery",25,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",13 -"445","445",2019,72,"male","former","no","living","living",660,"curative","local surgery",42,NA,"yes",NA,"no","pembrolizumab","no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G3","not_tested",0,47,NA,"no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",8 -"446","446",2016,62,"male","smoker","no","living","living",1811,"curative","local surgery",62,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2b","G3","not_tested",2,39,"yes","yes","no","yes","R1","Ris0","no","0","SCC_Conventional-Keratinizing",10 -"447","447",2016,69,"female","non-smoker","no","living","living",1641,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",2,19,"yes","no","no","no","R0","Ris0","yes","0.5","SCC_Sarcomatoid",3 -"448","448",2007,49,"male","smoker","no","living","living",4801,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN2a","G2","not_tested",1,41,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",3 -"449","449",2018,76,"male","smoker","no","living","living",842,"curative","local surgery",31,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","G2","negative",NA,0,NA,"no","no","no","R0","Ris0","no",NA,"SCC_Conventional-NonKeratinizing",1.5 -"450","450",2019,55,"male","smoker","no","living","living",510,"curative","local surgery",12,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",2.5 -"451","451",2013,75,"male","non-smoker","no","deceased","deceased not tumor specific",2167,"curative","local surgery",17,"palliative","yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",NA -"452","452",2013,72,"female","non-smoker","no","living","living",2695,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,4,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",5 -"453","453",2015,61,"female","smoker","no","living","living",2310,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G2","not_tested",2,24,"yes","no","no","no","R0","Ris0","no","<0.1","SCC_Conventional-Keratinizing",NA -"454","454",2006,47,"female","smoker","no","living","living",3053,"curative","local surgery",19,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN1","G2","not_tested",1,35,NA,"no","no","no","R0","Ris0","no","0.5","SCC_Conventional-Keratinizing",8 -"455","455",2015,61,"male","former","no","living","living",47,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","hpv_association_p16","positive",NA,0,NA,"no","no","no","RX","Ris0","yes",NA,"SCC_Conventional-Keratinizing",1 -"456","456",2018,62,"female","smoker","no","living","living",1041,"curative","local surgery",0,"curative","yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,21,NA,"no","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-Keratinizing",4 -"457","457",2016,77,"male","former","no","living","living",117,"curative","local surgery",12,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris1","yes",NA,"SCC_Conventional-Keratinizing",5 -"458","458",2015,57,"male","smoker","no","living","living",290,"curative","local surgery",45,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G3","not_tested",4,54,"yes","no","no","yes","RX","Ris0","yes",NA,"SCC_Basaloid",NA -"459","459",2011,50,"male","smoker",NA,"deceased","deceased not tumor specific",1160,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2c","G3","negative",2,46,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",11 -"460","460",2015,75,"male","smoker","no","deceased","deceased not tumor specific",38,"curative","local surgery",30,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R1","Ris0","yes","0","SCC_Conventional-Keratinizing",27 -"461","461",2014,66,"male","non-smoker","no","living","living",2751,"curative","local surgery",22,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",1919,"yes",1919,"yes",2660,"LymphNodes",1919,"LymphNodes",2660,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G3","not_tested",3,49,"yes","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",6 -"462","462",2015,54,"male","former","no","living","living",2169,"curative","local surgery",48,NA,"yes",NA,"yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN0","G2","not_tested",0,54,NA,"no","no","yes","R0","CIS Absent","no","<0.1","SCC_Basaloid",15 -"463","463",2006,71,"male","smoker","no","deceased","deceased not tumor specific",939,"curative","local surgery",22,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,26,NA,"no","no","no","R0","CIS Absent","no","0.7","SCC_Conventional-Keratinizing",6 -"464","464",2014,57,"male","smoker","no","deceased","deceased tumor specific",2147,"curative","local surgery",1,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",129,"yes",129,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G2","negative",1,15,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",5 -"465","465",2016,66,"male","non-smoker","no","living","living",1955,"curative","local surgery",71,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2b","G3","not_tested",2,30,"yes","no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",7 -"466","466",2015,52,"male","smoker","yes","deceased","deceased tumor specific",692,"curative","local surgery",22,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",224,"yes",224,NA,NA,"Lung",230,"Lung",301,"Pleura",331,"OtherOrgans",551,"Hypopharynx","pT2","pN3","G2","not_tested",2,27,"yes","yes","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",10 -"467","467",2015,62,"male","non-smoker","no","living","living",2260,"curative","local surgery",12,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",5,36,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",8 -"468","468",2015,76,"female","non-smoker","no","living","living",1873,"curative","local surgery",35,NA,"no",NA,"no",NA,"no","yes",1807,"yes",1807,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G1","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.1",NA,1 -"469","469",2017,56,"male","smoker","no","living","living",1496,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",2,43,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",9 -"470","470",2012,50,"male","smoker","no","living","living",2996,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",1279,"yes",1279,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,45,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-NonKeratinizing",1 -"471","471",2018,77,"male","non-smoker","no","living","living",98,"curative","local surgery",25,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN3b","G3","not_tested",5,57,"yes","no","no","no","R1","CIS Absent","no","0","SCC_Conventional-NonKeratinizing",NA -"472","472",2012,47,"female","smoker","no","living","living",1771,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy + brachytherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN1","G2","not_tested",1,46,"yes","no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",6 -"473","473",2016,77,"male","former","no","living","living",242,"curative","local surgery",50,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",1 -"474","474",2014,68,"male","smoker","no","living","living",155,"curative","local surgery",4,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",3 -"475","475",2012,71,"male","non-smoker","no","living","living",3275,"curative","local surgery",18,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2a","hpv_association_p16","positive",1,49,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",11 -"476","476",2018,57,"female","smoker","no","living","living",1092,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G2","negative",0,53,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",1 -"477","477",2016,75,"male","non-smoker","yes","living","living",1440,"curative","local surgery",0,"curative","yes",NA,"yes","cetuximab","yes","yes",926,"yes",92,NA,NA,"Pleura",1117,"Lung LymphNodes",1196,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Basaloid",NA -"478","478",2016,58,"female","former","no","living","living",1673,"curative","local surgery",69,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,11,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",NA -"479","479",2014,80,"male","former","no","living","living",2040,"curative","local surgery",9,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,23,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",12 -"480","480",2018,39,"male","smoker","no","living","living",1011,"curative","local surgery",18,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",3 -"481","481",2017,66,"male","non-smoker","no","living","living",154,"curative","local surgery",28,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G2","not_tested",0,57,NA,"no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",NA -"482","482",2011,50,"female","non-smoker","no","living","living",3222,"curative","local surgery",0,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,25,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",15 -"483","483",2009,47,"male","smoker","no","living","living",4118,"curative","local surgery",46,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN1","G2","not_tested",1,22,"yes","no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",17 -"484","484",2013,61,"male","former","yes","living","living",546,"curative","local surgery",24,"curative","yes",NA,"yes",NA,"yes","yes",427,"yes",427,NA,NA,"LymphNodes Liver",427,NA,NA,NA,NA,NA,NA,"CUP","TX","pN2c","G3","negative",6,42,"yes","no","no","yes","R1","CIS Absent","no","0","SCC_Basaloid",6 -"485","485",2014,50,"male","smoker","no","living","living",2512,"curative","local surgery",19,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","RX","Ris0","yes",NA,"SCC_Conventional-Keratinizing",4 -"486","486",2007,67,"female","former","no","deceased","deceased not tumor specific",4500,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,12,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",5 -"487","487",2018,65,"male","smoker","no","living","living",1045,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G2","negative",1,13,"no","no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",4 -"488","488",2011,60,"male","former",NA,"living","living",2584,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G2","negative",2,48,"yes","no","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-Keratinizing",10 -"489","489",2017,78,"male","smoker","no","living","living",49,"curative","local surgery",6,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","NX","G3","negative",NA,0,NA,"no","yes","yes","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",13 -"490","490",2016,77,"female","smoker","no","living","living",1494,"curative","local surgery",18,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2c","G3","negative",5,34,"yes","no","no","no","RX","CIS Absent","no",NA,"SCC_Acantholytic",7 -"491","491",2018,54,"male","smoker","no","living","living",1129,"curative","local surgery",21,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",2,49,"yes","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",7 -"492","492",2012,57,"male","non-smoker","no","living","living",3124,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2a","G3","negative",2,13,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Sarcomatoid",17 -"493","493",2012,50,"female","non-smoker","no","living","living",1843,"curative","local surgery",0,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,40,NA,"no","no","yes","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",10 -"494","494",2015,65,"male","smoker","no","living","living",2312,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN1","G2","not_tested",1,16,"no","yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",17 -"495","495",2018,62,"male","smoker","no","living","living",1059,"curative","local surgery",31,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G2","not_tested",0,51,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",9 -"496","496",2018,77,"female","non-smoker","no","living","living",1106,"curative","local surgery",11,NA,"yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,16,NA,"no","no","no","R0","Ris0","no","0.3","SCC_Conventional-Keratinizing",7 -"497","497",2011,74,"female","non-smoker","no","living","living",124,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G3","negative",2,15,"no","yes","no","no","R0","CIS Absent","no","0.5","SCC_Lymphoepithelial",NA -"498","498",2013,71,"male","non-smoker","no","living","living",1347,"curative","local surgery",0,NA,"yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G3","not_tested",NA,0,NA,"no","no","yes","R0","Ris0","yes","0.1","SCC_Conventional-NonKeratinizing",9 -"499","499",2019,65,"male","smoker","no","living","living",775,"curative","local surgery",55,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris1","yes","0.5","SCC_Conventional-Keratinizing",6 -"500","500",2013,65,"male","smoker","no","living","living",2502,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2c","G3","not_tested",4,31,"no","no","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",11 -"501","501",2017,55,"male","smoker","no","deceased","deceased not tumor specific",48,"curative","local surgery",15,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN3b","G3","not_tested",4,47,"yes","yes","yes","no","R0","Ris0","yes",NA,"SCC_Basaloid",10 -"502","502",2012,61,"male","smoker","no","living","living",3077,"curative","local surgery",63,NA,"yes","percutaneous radiotherapy","no",NA,"no","yes",518,"yes",518,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"503","503",2016,49,"female","non-smoker","no","living","living",1941,"curative","local surgery",3,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,22,"yes","yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",NA -"504","504",2017,70,"male","former","no","living","living",1581,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN0","G3","negative",0,18,NA,"no","no","yes","R0","Ris0","yes","0.5","SCC_Conventional-NonKeratinizing",8 -"505","505",2012,62,"male","smoker","no","living","living",334,"curative","local surgery",33,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2b","G3","not_tested",3,40,"yes","yes","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"506","506",2011,48,"female","former","no","deceased","deceased tumor specific",1711,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",947,"yes",947,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G2","negative",0,24,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",4 -"507","507",2015,79,"male","non-smoker","no","deceased","deceased not tumor specific",175,"curative","local surgery",16,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",58,"yes",58,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN0","G3","not_tested",0,16,NA,"no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",7 -"508","508",2016,68,"male","smoker","no","living","living",306,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2c","G3","not_tested",4,33,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",NA -"509","509",2012,61,"male","smoker","no","living","living",3337,"curative","local surgery",26,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT4a","pN2b","G2","not_tested",3,40,"yes","no","yes","yes","R0","CIS Absent","no","0.4","SCC_Conventional-Keratinizing",16 -"510","510",2014,52,"male","non-smoker","no","deceased","deceased tumor specific",454,"curative","local surgery",73,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",356,"yes",356,NA,NA,"LymphNodes Skin",356,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2c","G3","not_tested",26,45,"yes","yes","no","yes","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",4 -"511","511",2018,67,"male","smoker","no","living","living",982,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN3b","G3","negative",2,41,"yes","no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",3 -"512","512",2012,72,"male","non-smoker","no","deceased","deceased tumor specific",103,"curative","local surgery",22,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN1","G2","negative",1,24,"no","yes","no","no","R0","Ris0","yes",NA,NA,NA -"513","513",2013,64,"male","smoker","no","deceased","deceased not tumor specific",1022,"curative","local surgery",46,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G3","negative",1,38,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",3 -"514","514",2016,52,"male","smoker","no","living","living",595,"curative","local surgery",22,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","hpv_association_p16","positive",0,23,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",2 -"515","515",2011,53,"male","smoker","no","living","living",3581,"curative","local surgery",0,"curative","yes","brachytherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN2b","G3","not_tested",4,28,"no","no","no","no","R0","CIS Absent","no",NA,NA,4 -"516","516",2011,71,"female","non-smoker","no","deceased","deceased not tumor specific",207,"curative","local surgery",0,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN1","G2","not_tested",1,27,"no","yes","no","yes","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",3 -"517","517",2016,58,"male","smoker","no","living","living",282,"curative","local surgery",182,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2a","G3","not_tested",1,45,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",6 -"518","518",2019,55,"male","former","no","living","living",99,"curative","local surgery",23,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",NA -"519","519",2016,58,"male","former","no","living","living",1357,"curative","local surgery",67,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,32,NA,"no","yes","no","R0","Ris0","yes","0.6","SCC_Conventional-Keratinizing",19 -"520","520",2018,68,"male","former","no","living","living",823,"curative","local surgery",6,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",285,"yes",285,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,NA,6 -"521","521",2019,37,"female","non-smoker","yes","deceased","deceased tumor specific",133,"curative","local surgery",6,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",49,"yes",49,NA,NA,"Pleura LymphNodes",104,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN3b","G3","negative",2,37,"yes","no","no","yes","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",13 -"522","522",2014,48,"male","smoker","no","living","living",247,"curative","local surgery",16,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,58,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-NonKeratinizing",8 -"523","523",2014,57,"male","former","no","living","living",1358,"curative","local surgery",41,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G3","not_tested",2,42,"yes","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",NA -"524","524",2018,65,"male","former","no","living","living",1090,"curative","local surgery",19,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",0.5 -"525","525",2014,67,"female","former","no","living","living",1675,"curative","local surgery",0,"curative","yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,6,NA,"no","no","yes","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",5 -"526","526",2014,55,"male","smoker","yes","deceased","deceased tumor specific",525,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",343,"yes",343,NA,NA,"Lung Bones",343,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN3","G3","negative",12,37,"yes","yes","yes","yes","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",NA -"527","527",2010,76,"male","former","no","deceased","deceased not tumor specific",3728,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN0","G2","not_tested",0,12,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",4 -"528","528",2012,54,"male","smoker","no","living","living",3178,"curative","local surgery",47,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN1","G2","not_tested",1,40,"no","yes","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",35 -"529","529",2018,68,"male","smoker","no","living","living",1003,"curative","local surgery",22,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",5 -"530","530",2017,68,"male","smoker","no","living","living",1453,"curative","local surgery",19,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",460,"yes",460,NA,NA,"Lung",460,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",2,51,"no","yes","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",NA -"531","531",2012,73,"male","non-smoker","no","living","living",2578,"curative","local surgery",17,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","NX","G1","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.5","Mucoepidermoid_Carcinoma",NA -"532","532",2012,41,"male","smoker","no","living","living",3232,"curative","local surgery",19,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN2b","G3","not_tested",5,54,"yes","yes","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",4 -"533","533",2013,83,"male","non-smoker","no","deceased","deceased not tumor specific",89,"curative","local surgery",54,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G3","not_tested",0,26,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"534","534",2014,63,"male","non-smoker","no","living","living",2455,"curative","local surgery",45,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G3","negative",0,47,NA,"no","no","no","R0","Ris0","no","0.2","SCC_Conventional-Keratinizing",10 -"535","535",2016,50,"female","non-smoker","no","living","living",1004,"curative","local surgery",6,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",2.5 -"536","536",2018,59,"female","non-smoker","no","living","living",1133,"curative","local surgery",8,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,30,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",5 -"537","537",2011,56,"male","former",NA,"living","living",522,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","yes","cisplatin + etoposid","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","hpv_association_p16","positive",3,49,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",NA -"538","538",2017,55,"male","former","yes","living","living",141,"curative","local surgery",28,NA,"no",NA,"no",NA,"no","yes",138,"yes",140,NA,NA,"Bones Skin",140,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN3b","G3","not_tested",9,37,"yes","no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",12 -"539","539",2019,69,"male","non-smoker","yes","living","living",661,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",132,"yes",132,NA,NA,"LymphNodes Lung",479,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-NonKeratinizing",5 -"540","540",2014,50,"female","smoker","no","living","living",1409,"curative","local surgery",45,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G3","negative",1,39,"yes","no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",6 -"541","541",2015,51,"male","smoker","yes","deceased","deceased tumor specific",299,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","yes","carboplatin","yes","yes",286,"yes",286,NA,NA,"Lung",286,"Adrenal OtherOrgans",292,NA,NA,NA,NA,"Larynx","pT4b","pN2c","G3","not_tested",10,30,"yes","no","yes","no","R0","CIS Absent","no","1.3","SCC_Basaloid",30 -"542","542",2008,59,"male","smoker","no","deceased","deceased not tumor specific",1546,"curative","local surgery",26,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2c","G2","negative",5,26,"yes","yes","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",NA -"543","543",2015,58,"female","non-smoker","no","living","living",2055,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,30,"no","no","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",8 -"544","544",2014,83,"female","non-smoker","no","deceased","deceased not tumor specific",47,"curative","local surgery",29,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G3","not_tested",2,8,"yes","no","no","yes","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",14 -"545","545",2014,76,"female","former","no","living","living",2400,"curative","local surgery",19,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,16,NA,"no","no","no","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",5.5 -"546","546",2017,69,"male","non-smoker","no","living","living",441,"curative","local surgery",43,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G2","not_tested",0,38,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",12 -"547","547",2014,55,"male","smoker","no","living","living",2540,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G3","negative",1,50,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",7 -"548","548",2016,70,"male","smoker","no","living","living",770,"curative","local surgery",49,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G3","not_tested",2,41,"yes","yes","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",12 -"549","549",2017,80,"male","former","no","living","living",370,"curative","local surgery",26,NA,"no",NA,"no",NA,"no","yes",370,"yes",370,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,22,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",12 -"550","550",2017,62,"female","non-smoker","no","deceased","deceased not tumor specific",104,"curative","local surgery",57,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",2,13,"no","no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",NA -"551","551",2011,56,"male","former","no","living","living",1543,"curative","local surgery",20,"curative","no",NA,"no","fluorouracil + cisplatin","no","yes",1192,"yes",1192,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,41,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",10 -"552","552",2008,70,"male","smoker","no","living","living",4515,"curative","local surgery",18,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN0","G2","not_tested",0,4,NA,"no","no","no","RX","Ris0","no",NA,"SCC_Conventional-Keratinizing",NA -"553","553",2014,77,"female","non-smoker","no","living","living",2326,"curative","local surgery",23,NA,"no",NA,"no",NA,"no","yes",2200,"yes",2200,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",2 -"554","554",2018,66,"female","former","no","deceased","deceased tumor specific",256,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","yes",189,"yes",189,NA,NA,"Bones",189,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",5,48,"yes","no","no","no","R0","Ris0","yes","0.3","SCC_Conventional-NonKeratinizing",7 -"555","555",2011,56,"male","non-smoker","no","deceased","deceased tumor specific",642,"curative","local surgery",42,"curative","no",NA,"yes","cetuximab + carboplatin","no","yes",100,"yes",94,NA,NA,"Lung",94,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2c","G3","negative",38,93,"yes","yes","yes","yes","R0","CIS Absent","no","0.5","SCC_Basaloid",16 -"556","556",2017,62,"male","non-smoker","no","living","living",1447,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G1","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.1",NA,0.5 -"557","557",2017,48,"male","non-smoker","no","living","living",1329,"curative","local surgery",25,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,27,NA,"no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",4 -"558","558",2012,66,"male","smoker","no","living","living",926,"curative","local surgery",20,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,28,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",5 -"559","559",2018,58,"male","former","no","living","living",965,"curative","local surgery",17,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",2,39,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",18 -"560","560",2008,72,"female","non-smoker","no","living","living",3549,"curative","local surgery",15,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,21,NA,"no","no","no","R0","CIS Absent","no",NA,NA,6 -"561","561",2016,77,"female","smoker","no","living","living",44,"curative","local surgery",25,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,14,"no","no","no","no","R0","Ris0","yes","0.1","SCC_Basaloid",4 -"562","562",2019,55,"male","former","no","living","living",776,"curative","local surgery",41,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G2","negative",0,23,NA,"yes","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",2 -"563","563",2014,47,"male","non-smoker","no","living","living",1885,"curative","local surgery",36,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","hpv_association_p16","positive",4,11,"yes","yes","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",NA -"564","564",2016,68,"female","smoker","no","living","living",1363,"curative","local surgery",18,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","G3","negative",2,43,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",4 -"565","565",2016,60,"male","former","no","living","living",1798,"curative","local surgery",34,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN0","G2","not_tested",0,23,NA,"no","no","no","R0","Ris0","no","0.4","SCC_Conventional-Keratinizing",19 -"566","566",2017,57,"male","smoker","no","living","living",405,"curative","local surgery",12,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G1","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,NA,0 -"567","567",2012,54,"male","former","no","living","living",2876,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G2","negative",0,33,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",6 -"568","568",2013,59,"male","former","no","living","living",2786,"curative","local surgery",19,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",3,30,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Lymphoepithelial",12 -"569","569",2011,80,"male","non-smoker","no","living","living",75,"curative","local surgery",31,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",4 -"570","570",2012,69,"male","smoker","no","living","living",433,"curative","local surgery",39,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",412,"yes",NA,NA,NA,"LymphNodes Lung Adrenal",420,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4b","pN2c","hpv_association_p16","positive",10,29,"yes","yes","no","yes","R2","CIS Absent","no","0","SCC_Conventional-NonKeratinizing",NA -"571","571",2013,59,"male","smoker","no","deceased","deceased not tumor specific",723,"curative","local surgery",15,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN2b","G3","not_tested",2,45,"no","no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",14 -"572","572",2013,67,"female","smoker","no","living","living",2771,"curative","local surgery",24,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",1069,"yes",1069,"yes",1382,"Lung LymphNodes",1069,"Liver",1382,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",8,22,"yes","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",9 -"573","573",2014,51,"male","smoker","no","deceased","deceased tumor specific",955,"curative","local surgery",37,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",892,"yes",892,NA,NA,"Liver LymphNodes Lung",892,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2","hpv_association_p16","positive",23,37,"yes","yes","yes","yes","R2","CIS Absent","no","0","SCC_Conventional-Keratinizing",53 -"574","574",2016,65,"male","smoker","no","living","living",1299,"curative","local surgery",12,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",2 -"575","575",2011,55,"male","smoker","no","living","living",3486,"curative","local surgery",22,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN0","G2","not_tested",0,54,NA,"yes","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",7 -"576","576",2016,71,"male","non-smoker","no","deceased","deceased not tumor specific",983,"curative","local surgery",30,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN1","G2","negative",1,45,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",8 -"577","577",2012,49,"male","former","no","living","living",3031,"curative","local surgery",30,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",3.95 -"578","578",2018,67,"male","non-smoker","no","living","living",914,"curative","local surgery",0,"curative","yes","proton therapy","no","Protonentherapie","no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,15,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",NA -"579","579",2016,61,"male","smoker","yes","deceased","deceased tumor specific",694,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","yes","carboplatin","yes","yes",510,"yes",510,NA,NA,"LymphNodes",510,"Bones",668,NA,NA,NA,NA,"Larynx","pT4a","NX","G3","not_tested",NA,0,NA,"no","yes","yes","R0","Ris0","yes","0.2","SCC_Basaloid",10 -"580","580",2015,53,"male","smoker","no","living","living",1735,"curative","local surgery",6,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,41,NA,"yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",27 -"581","581",2016,54,"male","former","no","living","living",1771,"curative","local surgery",9,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,29,"yes","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",9 -"582","582",2009,46,"male","smoker","no","living","living",2569,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,52,NA,"no","no","no","R0","Ris0","no","0.5","SCC_Conventional-Keratinizing",5 -"583","583",2012,48,"male","smoker","no","living","living",342,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",68,"yes",68,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN2c","G3","negative",6,55,"yes","no","no","yes","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",11 -"584","584",2009,58,"male","smoker",NA,"deceased","deceased not tumor specific",1189,"curative","local surgery",52,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,36,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",13 -"585","585",2013,69,"female","smoker","no","living","living",1311,"curative","local surgery",18,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",1,48,"no","yes","no","no","R0","Ris0","yes","0.3","SCC_Basaloid",3 -"586","586",2015,72,"male","non-smoker","no","living","living",1219,"curative","local surgery",0,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",504,"yes",504,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,9,NA,"no","no","yes","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",12 -"587","587",2019,53,"male","non-smoker","no","living","living",530,"curative","local surgery",41,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",4 -"588","588",2012,74,"male","smoker","yes","living","living",153,"curative","local surgery",14,NA,"no","percutaneous radiotherapy","no",NA,"no","yes",153,"yes",153,NA,NA,"Skin",153,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN2b","G3","not_tested",2,20,"no","yes","no","yes","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",13 -"589","589",2006,51,"male","smoker","no","deceased","deceased not tumor specific",1474,"curative","local surgery",33,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","NX","G2","negative",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",7 -"590","590",2007,46,"male","non-smoker","no","living","living",3973,"curative","local surgery",17,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2c","G3","not_tested",3,19,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",9 -"591","591",2018,65,"male","former","no","living","living",1159,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",230,"yes",230,"yes",539,"Lung",230,"Lung",539,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,55,"no","no","no","no","R0","CIS Absent","no","0.2","SCC_Basaloid",8 -"592","592",2013,75,"female","former","no","living","living",54,"curative","local surgery",24,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",14,32,"no","yes","no","no","R0","Ris0","no","<0.1","SCC_Basaloid",8 -"593","593",2018,67,"male","non-smoker","no","living","living",1069,"curative","local surgery",17,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",7 -"594","594",2017,61,"female","smoker","no","living","living",1419,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",1123,"no",1123,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",5,28,"yes","no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",3 -"595","595",2019,78,"male","non-smoker","no","living","living",644,"curative","local surgery",23,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G3","not_tested",0,22,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"596","596",2015,71,"male","smoker","no","living","living",344,"curative","local surgery",48,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN2c","G3","not_tested",7,46,"yes","yes","yes","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",NA -"597","597",2015,44,"female","smoker","no","living","living",222,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",7,55,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",8 -"598","598",2019,68,"male","smoker","no","living","living",798,"curative","local surgery",19,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,34,"yes","no","no","no","R0","CIS Absent","no","0.2","SCC_Basaloid",11 -"599","599",2012,68,"male","non-smoker","no","living","living",2693,"curative","local surgery",14,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",3 -"600","600",2012,55,"male","smoker","no","living","living",3198,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G3","negative",1,26,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-NonKeratinizing",4 -"601","601",2013,56,"female","non-smoker","no","living","living",3017,"curative","local surgery",28,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN0","G2","not_tested",0,34,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",5 -"602","602",2014,59,"male","former","no","living","living",640,"curative","local surgery",31,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",254,"yes",254,NA,NA,"Lung",254,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",3,24,"yes","no","no","no","R1","Ris0","yes","0","SCC_Conventional-Keratinizing",8 -"603","603",2012,77,"male","smoker","no","deceased","deceased not tumor specific",1848,"curative","local surgery",58,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.4","SCC_Conventional-Keratinizing",NA -"604","604",2014,44,"male","non-smoker","yes","deceased","deceased tumor specific",584,"curative","local surgery",25,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",398,"yes",398,NA,NA,"Lung",398,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2b","G2","not_tested",4,33,"no","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",17 -"605","605",2018,54,"male","smoker","no","living","living",1271,"curative","local surgery",18,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,25,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",11 -"606","606",2017,73,"female","former","no","deceased","deceased not tumor specific",1359,"curative","local surgery",38,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","no","0.5","SCC_Conventional-Keratinizing",3 -"607","607",2014,58,"male","former","no","deceased","deceased tumor specific",1522,"curative","local surgery",68,NA,"no",NA,"no",NA,"no","yes",1083,"yes",1083,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",20 -"608","608",2015,54,"male","smoker","no","living","living",2379,"curative","local surgery",46,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2c","G3","not_tested",2,57,"yes","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",22 -"609","609",2009,54,"female","former","no","living","living",3571,"curative","local surgery",35,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G2","negative",1,23,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",3 -"610","610",2015,70,"female","former","no","living","living",1498,"curative","local surgery",21,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","NX","hpv_association_p16","positive",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",17 -"611","611",2015,44,"male","non-smoker","no","living","living",2327,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",2,43,"no","yes","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",12 -"612","612",2015,78,"male","former","no","living","living",222,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",3,19,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Basaloid",14 -"613","613",2015,56,"male","smoker","no","deceased","deceased not tumor specific",1625,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT4a","pN0","G3","not_tested",0,25,NA,"no","no","yes","R0","Ris0","no","0.5","SCC_Basaloid",NA -"614","614",2013,69,"male","non-smoker","no","deceased","deceased not tumor specific",2131,"curative","local surgery",63,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",1021,"yes",1001,NA,NA,"Bones Lung",1001,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2a","G2","negative",1,36,"no","no","no","yes","R0","CIS Absent","no","0.2","SCC_Basaloid",17 -"615","615",2011,65,"male","smoker","no","living","living",3352,"curative","local surgery",33,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN2a","G3","not_tested",1,57,"no","yes","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",7 -"616","616",2017,51,"male","smoker","no","deceased","deceased tumor specific",577,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",304,"yes",474,NA,NA,"Lung",474,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2a","G3","negative",1,19,"yes","no","no","no","R0","Ris0","no","0.5","SCC_Conventional-Keratinizing",12 -"617","617",2017,64,"male","non-smoker","yes","living","living",1436,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","yes",1190,"yes",1190,NA,NA,"Lung",1190,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN3b","G3","not_tested",2,52,"yes","no","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",NA -"618","618",2014,45,"male","smoker","no","living","living",2436,"curative","local surgery",14,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",6 -"619","619",2016,63,"male","smoker","no","living","living",1775,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","G3","negative",2,14,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",3 -"620","620",2012,67,"female","non-smoker","no","living","living",460,"curative","local surgery",12,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",2,26,"yes","no","no","yes","R0","CIS Absent","no","0.5","SCC_Lymphoepithelial",12 -"621","621",2017,59,"male","smoker","no","living","living",1023,"curative","local surgery",50,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",476,"yes",476,"yes",1023,"Lung",476,"LymphNodes",1023,"Bones",1023,NA,NA,"Oropharynx","pT2","pN3b","G3","negative",2,29,"yes","no","no","no","R0","Ris0","yes","<0.1","SCC_Basaloid",3 -"622","622",2011,54,"male","smoker","no","living","living",3716,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",2056,"yes",3456,NA,NA,"Lung",3456,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN0","G3","not_tested",0,59,NA,"no","no","yes","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",12 -"623","623",2013,30,"male","non-smoker","no","living","living",2861,"curative","local surgery",12,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,44,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",11 -"624","624",2013,56,"male","smoker","no","living","living",2640,"curative","local surgery",15,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",4,52,"no","no","no","no","R0","CIS Absent","no","0.2","SCC_Basaloid",NA -"625","625",2013,69,"male","former","yes","deceased","deceased tumor specific",374,"curative","local surgery",120,NA,"yes",NA,"yes",NA,"yes","yes",344,"yes",92,NA,NA,"LymphNodes",344,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2c","G2","not_tested",14,40,"yes","yes","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-Keratinizing",NA -"626","626",2013,54,"male","smoker","no","living","living",21,"curative","local surgery",21,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,28,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",5 -"627","627",2014,65,"male","smoker","no","living","living",2463,"curative","local surgery",35,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","hpv_association_p16","positive",9,20,"yes","no","no","no","R1","Ris0","yes","0","SCC_Basaloid",5 -"628","628",2012,40,"male","former","no","living","living",3302,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2a","hpv_association_p16","positive",2,42,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",12 -"629","629",2015,54,"female","smoker","no","living","living",693,"curative","local surgery",40,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",231,"yes",579,NA,NA,"Liver Lung",579,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN3","G3","not_tested",1,18,"yes","no","no","yes","R0","Ris0","yes","0.1","SCC_Basaloid",NA -"630","630",2013,46,"male","smoker","no","living","living",3073,"curative","local surgery",22,NA,"no",NA,"no",NA,"no","yes",79,"yes",79,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",3.5 -"631","631",2018,51,"male","smoker","yes","deceased","deceased tumor specific",707,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",259,"yes",259,NA,NA,"Lung",259,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN3b","G3","not_tested",6,52,"yes","yes","no","no","R0","Ris0","yes",NA,"SCC_Conventional-NonKeratinizing",NA -"632","632",2015,62,"male","former","no","living","living",2163,"curative","local surgery",47,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",1967,"yes",1967,NA,NA,"Lung",1967,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G2","negative",0,8,NA,"no","no","no","R0","Ris0","no","0.5","SCC_Conventional-NonKeratinizing",2 -"633","633",2010,44,"male","smoker","no","deceased","deceased tumor specific",114,"curative","local surgery",14,"curative","yes","brachytherapy","no",NA,"no","yes",101,"yes",101,NA,NA,"Bones Liver Peritoneum",101,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","G3","negative",28,42,"yes","yes","yes","no","R0","Ris0","yes","0.5","SCC_Conventional-NonKeratinizing",9 -"634","634",2006,46,"male",NA,"no","living","living",2569,"curative","local surgery",24,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,51,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",6 -"635","635",2017,66,"male","non-smoker","no","living","living",1383,"curative","local surgery",15,NA,"no",NA,"no",NA,"no","yes",160,"yes",160,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",1 -"636","636",2012,52,"male","former","no","living","living",3202,"curative","local surgery",38,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN2a","G3","not_tested",1,22,"yes","yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",3 -"637","637",2016,52,"male","former","no","living","living",175,"curative","local surgery",8,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G3","negative",0,46,NA,"no","yes","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",5 -"638","638",2013,80,"female","smoker","no","living","living",2901,"curative","local surgery",4,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.7","SCC_Conventional-Keratinizing",14 -"639","639",2014,63,"male","non-smoker","no","living","living",801,"curative","local surgery",23,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN0","G2","not_tested",0,39,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-NonKeratinizing",NA -"640","640",2016,67,"male","non-smoker","no","living","living",23,"curative","local surgery",8,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2c","G3","not_tested",2,43,"yes","yes","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",NA -"641","641",2013,49,"male","non-smoker","no","living","living",2913,"curative","local surgery",11,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","hpv_association_p16","positive",0,37,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",9 -"642","642",2018,56,"male","former","no","living","living",1203,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN0","G3","not_tested",0,30,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",1 -"643","643",2014,61,"male","smoker","no","deceased","deceased",540,"curative","local surgery",7,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G3","not_tested",2,42,"yes","no","no","no","R1","Ris0","yes","0","SCC_Conventional-Keratinizing",16 -"644","644",2018,48,"male","smoker","no","living","living",1145,"curative","local surgery",32,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN3","G3","negative",1,45,"yes","no","no","yes","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",25 -"645","645",2014,54,"male","smoker","no","deceased","deceased tumor specific",379,"curative","local surgery",97,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","yes",287,"yes",287,NA,NA,"Liver Lung Bones",287,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","hpv_association_p16","positive",7,33,"yes","yes","yes","yes","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",25 -"646","646",2011,60,"male","smoker",NA,"living","living",3517,"curative","local surgery",30,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2a","hpv_association_p16","positive",1,54,"yes","yes","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",15 -"647","647",2015,50,"male","smoker","no","living","living",1747,"curative","local surgery",17,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",8 -"648","648",2013,58,"male","smoker","no","living","living",511,"curative","local surgery",42,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",247,"yes",247,NA,NA,"Skin Lung LymphNodes",247,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2c","G3","negative",5,19,"yes","yes","yes","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",6 -"649","649",2007,58,"male","non-smoker","no","deceased","deceased not tumor specific",4221,"curative","local surgery",36,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","TX","pN1","G2","not_tested",1,34,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",NA -"650","650",2010,53,"male","smoker","no","deceased","deceased not tumor specific",1617,"curative","local surgery",36,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN2b","G2","not_tested",2,24,"yes","no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",3 -"651","651",2012,62,"male","smoker","no","living","living",323,"curative","local surgery",31,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",10 -"652","652",2012,67,"male","former","no","living","living",3169,"curative","local surgery",18,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,49,"no","no","no","yes","R0","CIS Absent","no",NA,"SCC_Lymphoepithelial",12 -"653","653",2008,65,"male","smoker","no","deceased","deceased tumor specific",2959,"curative","local surgery",70,NA,"yes","percutaneous radiotherapy","yes","cisplatin + docetaxel","yes","yes",1345,"yes",1345,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN2b","G3","not_tested",2,29,"no","no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",NA -"654","654",2011,73,"male","smoker","no","deceased","deceased not tumor specific",1954,"curative","local surgery",14,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,25,NA,"no","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",7 -"655","655",2015,77,"male","former","no","living","living",1064,"curative","local surgery",14,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN2c","G3","not_tested",2,32,"no","no","no","yes","R0","CIS Absent","no","0.1","SCC_Basaloid",NA -"656","656",2018,54,"male","smoker","no","deceased","deceased not tumor specific",651,"curative","local surgery",26,NA,"yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G2","not_tested",0,36,NA,"no","no","no","R0","CIS Absent","no","0.4","SCC_Conventional-NonKeratinizing",9 -"657","657",2014,53,"male","smoker","no","living","living",2366,"curative","local surgery",26,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G2","negative",1,43,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",11 -"658","658",2016,69,"male","former","no","living","living",1706,"curative","local surgery",19,"curative","yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,25,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",8 -"659","659",2015,52,"male","smoker","no","living","living",1959,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G2","not_tested",0,35,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",NA -"660","660",2014,66,"female","smoker","no","living","living",2605,"curative","local surgery",1,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,17,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",6 -"661","661",2011,44,"male","smoker",NA,"living","living",3600,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2a","G3","negative",1,51,"no","no","no","yes","R0","CIS Absent","no","<0.1","SCC_Acantholytic",8 -"662","662",2018,58,"male","non-smoker","yes","deceased","deceased",857,"curative","local surgery",22,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",95,"yes",95,NA,NA,"Lung",95,"Lung Pleura",525,NA,NA,NA,NA,"Hypopharynx","pT2","pN0","G3","not_tested",0,45,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",12 -"663","663",2012,57,"male","non-smoker","no","living","living",1803,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,13,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",NA -"664","664",2017,72,"female","non-smoker","no","living","living",142,"curative","local surgery",0,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",3,5,"yes","no","no","no","R0","CIS Absent","no","0.1","SCC_Basaloid",3 -"665","665",2009,58,"male","smoker","no","deceased","deceased not tumor specific",2474,"curative","local surgery",23,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","G3","negative",1,61,"no","yes","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",7 -"666","666",2018,64,"male","smoker","no","living","living",888,"curative","local surgery",33,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2c","G2","not_tested",5,49,"no","no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",12 -"667","667",2014,72,"female","former","no","deceased","deceased tumor specific",728,"curative","local surgery",25,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G3","not_tested",0,33,NA,"no","yes","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",12 -"668","668",2016,76,"male","non-smoker","no","deceased","deceased not tumor specific",1142,"curative","local surgery",11,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","hpv_association_p16","positive",3,14,"yes","no","no","no","R1","CIS Absent","no","0","SCC_Basaloid",9 -"669","669",2014,58,"male","former","no","living","living",2383,"curative","local surgery",26,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-NonKeratinizing",2.5 -"670","670",2015,59,"male","former","no","living","living",1805,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","TX","NX","G2","not_tested",NA,0,NA,"no","no","no","RX","Ris0","yes",NA,"SCC_Conventional-Keratinizing",NA -"671","671",2015,50,"male","smoker","no","deceased","deceased tumor specific",890,"curative","local surgery",35,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",285,"yes",463,NA,NA,"Skin",463,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2b","hpv_association_p16","positive",3,57,"yes","no","no","yes","R0","Ris0","yes","0.1","SCC_Conventional-NonKeratinizing",1 -"672","672",2017,43,"male","smoker","no","deceased","deceased tumor specific",866,"curative","local surgery",51,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN3b","G3","not_tested",3,42,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",2 -"673","673",2011,59,"female","smoker","no","deceased","deceased not tumor specific",3295,"curative","local surgery",2,NA,"no","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN1","G3","not_tested",1,47,"no","no","no","no","R0","Ris0","yes",NA,"SCC_Basaloid",2 -"674","674",2016,74,"male",NA,"no","living","living",9,"curative","local surgery",4,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",4 -"675","675",2011,71,"male","former","no","deceased","deceased not tumor specific",1862,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",5,44,"yes","no","no","yes","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"676","676",2019,71,"male","non-smoker","no","living","living",238,"curative","local surgery",1,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-Keratinizing",2 -"677","677",2014,67,"male","non-smoker","no","living","living",575,"curative","local surgery",69,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,1,NA,"yes","no","yes","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",21 -"678","678",2017,48,"male","non-smoker","no","living","living",1432,"curative","local surgery",13,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN1","hpv_association_p16","positive",5,36,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",2 -"679","679",2018,49,"male","smoker","no","living","living",664,"curative","local surgery",27,NA,"no",NA,"no",NA,"no","yes",434,"yes",434,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","NX","hpv_association_p16","positive",NA,0,NA,"no","no","no","R1","CIS Absent","no","0","SCC_Basaloid",7 -"680","680",2014,55,"male","smoker","no","deceased","deceased tumor specific",408,"curative","local surgery",56,"curative","yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",345,"yes",345,"yes",408,"Lung",345,"OtherOrgans",408,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G3","negative",2,19,"yes","yes","yes","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",7 -"681","681",2019,59,"male","smoker","no","living","living",733,"curative","local surgery",22,"curative","yes","percutaneous radiotherapy","yes",NA,"yes","yes",300,"yes",300,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN2b","G3","not_tested",2,29,"no","yes","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",2.5 -"682","682",2014,53,"male","smoker","no","deceased","deceased not tumor specific",276,"curative","local surgery",105,"curative","yes","percutaneous radiotherapy","yes","cisplatin + Paclitaxel","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G2","negative",4,37,"no","no","no","no","R0","Ris0","yes","0.4","SCC_Conventional-Keratinizing",10 -"683","683",2019,66,"male","former","no","living","living",709,"curative","local surgery",9,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",3.5 -"684","684",2015,68,"male","former","no","living","living",1651,"curative","local surgery",6,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",5 -"685","685",2016,84,"male","non-smoker","no","living","living",706,"curative","local surgery",11,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN0","G2","not_tested",0,29,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",3 -"686","686",2014,52,"male","smoker","no","living","living",433,"curative","local surgery",42,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN2b","G3","not_tested",2,15,"yes","no","no","yes","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",1.5 -"687","687",2014,76,"male","former","no","living","living",1540,"curative","local surgery",10,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN0","G2","not_tested",0,12,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",2 -"688","688",2019,59,"male","smoker","no","living","living",811,"curative","local surgery",60,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN3b","G2","not_tested",1,31,"yes","no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",12 -"689","689",2014,70,"female","non-smoker","no","living","living",2625,"curative","local surgery",29,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","hpv_association_p16","positive",3,24,"no","no","no","no","R0","CIS Absent","no","0.2","SCC_Basaloid",12 -"690","690",2017,75,"male","smoker","no","living","living",1400,"curative","local surgery",12,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-NonKeratinizing",2 -"691","691",2011,54,"male","non-smoker","yes","deceased","deceased tumor specific",1669,"curative","local surgery",66,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin + carboplatin","yes","yes",1169,"yes",1169,NA,NA,"SoftTissue",1207,"Bones",1412,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",4 -"692","692",2014,66,"male","smoker","no","living","living",25,"curative","local surgery",15,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2a","hpv_association_p16","positive",1,12,"yes","no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",9 -"693","693",2010,69,"male","smoker","no","deceased","deceased tumor specific",3085,"curative","local surgery",7,"palliative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","yes",3002,"yes",3002,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN2c","G3","not_tested",2,15,"no","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",2 -"694","694",2013,66,"male","non-smoker","yes","deceased","deceased not tumor specific",124,"curative","local surgery",17,NA,"no",NA,"no",NA,"no","yes",74,"yes",74,NA,NA,"Lung",74,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2c","G3","not_tested",2,37,"yes","no","yes","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",30 -"695","695",2017,59,"female","former","no","living","living",1357,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","chemotherapy","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",2,39,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",7 -"696","696",2019,62,"male","smoker","no","living","living",763,"curative","local surgery",28,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",2 -"697","697",2018,77,"male","former","no","living","living",374,"curative","local surgery",33,"curative","yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no","0.8","SCC_Conventional-Keratinizing",NA -"698","698",2016,64,"male","non-smoker","no","living","living",1834,"curative","local surgery",28,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","hpv_association_p16","positive",0,14,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",2 -"699","699",2015,90,"female","non-smoker","no","living","living",203,"curative","local surgery",35,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G1","not_tested",0,13,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",5 -"700","700",2014,72,"male","former","yes","deceased","deceased tumor specific",1492,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin + carboplatin","yes","yes",398,"yes",398,NA,NA,"Lung",398,"Lung",881,"Spleen Liver",1121,"Brain",1413,"Hypopharynx","pT1","pN2a","G3","not_tested",1,11,NA,"no","no","yes","R0","CIS Absent","no","<0.1","SCC_Conventional-NonKeratinizing",8 -"701","701",2017,60,"female","non-smoker","no","living","living",1582,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","yes",1430,"yes",1430,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2a","G3","negative",1,20,"no","no","no","no","R0","Ris1","yes","<0.1","SCC_Conventional-Keratinizing",19 -"702","702",2014,61,"male","former","no","living","living",2282,"curative","local surgery",14,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",269,"yes",269,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,18,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",4 -"703","703",2006,65,"male","non-smoker","no","living","living",823,"curative","local surgery",14,NA,"no",NA,"no",NA,"no","yes",659,"yes",658,"yes",819,"Lung",659,"Liver SoftTissue",819,NA,NA,NA,NA,"Oral_Cavity","pT4a","pN1","G2","not_tested",1,17,NA,"no","no","no","RX","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",NA -"704","704",2006,50,"male",NA,"no","deceased","deceased tumor specific",1626,"curative","local surgery",25,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",311,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN2b","G2","not_tested",33,17,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"705","705",2015,64,"male","non-smoker","no","living","living",2106,"curative","local surgery",82,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT2","pN0","G3","not_tested",0,2,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",5 -"706","706",2017,60,"male","non-smoker","no","living","living",1517,"curative","local surgery",50,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,28,"no","no","no","no","R0","Ris0","yes","0.4","SCC_Conventional-NonKeratinizing",8 -"707","707",2016,51,"male","smoker","no","living","living",1784,"curative","local surgery",23,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",2,65,"yes","no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-NonKeratinizing",16 -"708","708",2012,71,"male","smoker","no","deceased","deceased not tumor specific",368,"curative","local surgery",44,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT2","pN0","G2","not_tested",0,48,NA,"no","no","no","R0","Ris0","no","0.5","SCC_Conventional-Keratinizing",4 -"709","709",2010,77,"male","former","yes","deceased","deceased tumor specific",424,"curative","local surgery",28,"palliative","yes","percutaneous radiotherapy","yes",NA,"yes","yes",199,"no",NA,NA,NA,"Lung",199,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT3","pN1","G2","not_tested",1,22,"no","no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",NA -"710","710",2018,78,"male","former","no","deceased","deceased tumor specific",233,"curative","local surgery",49,"curative","no",NA,"no","carboplatin","no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT1","pN3b","G3","not_tested",1,35,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-NonKeratinizing",1 -"711","711",2016,68,"male","smoker","no","living","living",1914,"curative","local surgery",49,NA,"yes",NA,"yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN3b","G3","not_tested",1,18,"yes","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",5 -"712","712",2015,58,"male","smoker","no","living","living",2189,"curative","local surgery",21,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT4a","pN2","hpv_association_p16","positive",3,31,"yes","yes","no","yes","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",14 -"713","713",2015,57,"male","smoker","yes","living","living",2107,"curative","local surgery",49,NA,"yes",NA,"yes",NA,"yes","yes",1372,"yes",1372,NA,NA,"Lung",1372,"LymphNodes",1889,NA,NA,NA,NA,"Oral_Cavity","pT2","pN2b","G2","not_tested",2,41,"yes","no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",14 -"714","714",2016,54,"female","former","no","deceased","deceased tumor specific",1087,"curative","local surgery",59,NA,"no",NA,"no",NA,"no","yes",778,"yes",778,NA,NA,"LymphNodes",778,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",2,31,"no","yes","no","yes","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",11 -"715","715",2016,58,"female","non-smoker","no","living","living",1031,"curative","local surgery",9,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2a","G3","negative",1,27,"yes","no","no","no","R1","Ris0","yes","0","SCC_Basaloid",4 -"716","716",2005,43,"male",NA,"no","living","living",2332,"curative","local surgery",0,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN0","G3","negative",0,36,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",NA -"717","717",2013,59,"male","smoker","no","deceased","deceased not tumor specific",373,"curative","local surgery",21,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN3","G3","negative",3,41,"yes","yes","no","no","R0","CIS Absent","no","0.2","SCC_Lymphoepithelial",NA -"718","718",2019,53,"male","smoker","no","living","living",728,"curative","local surgery",28,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.1","SCC_Basaloid",2 -"719","719",2017,56,"male","non-smoker","no","living","living",1363,"curative","local surgery",8,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",91,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","yes","R1","Ris0","yes","0","SCC_Conventional-Keratinizing",NA -"720","720",2013,61,"female","smoker","no","deceased","deceased",1237,"curative","local surgery",54,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,31,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",17 -"721","721",2010,56,"male","smoker","yes","deceased","deceased",1330,"curative","local surgery",671,"palliative","yes","percutaneous radiotherapy","yes","cetuximab","yes","yes",852,"yes",852,NA,NA,"Lung Liver",865,"Brain",1226,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,51,NA,"yes","no","no","R0","CIS Absent","no",NA,"SCC_Basaloid",NA -"722","722",2014,55,"male","smoker","yes","deceased","deceased tumor specific",605,"curative","local surgery",49,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","yes",590,"yes",590,NA,NA,"Lung",590,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT3","pN2c","G2","not_tested",4,28,"yes","yes","no","yes","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",10 -"723","723",2019,59,"male","non-smoker","no","living","living",751,"curative","local surgery",27,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",3,55,"no","no","no","no","R0","CIS Absent","no","0.2","SCC_Basaloid",5 -"724","724",2013,53,"male","smoker","no","deceased","deceased tumor specific",1276,"curative","local surgery",42,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT4a","pN2b","G3","not_tested",2,49,"yes","yes","no","no","R0","Ris1","no",NA,"SCC_Basaloid",45 -"725","725",2018,55,"male","smoker","yes","living","living",997,"curative","local surgery",59,"palliative","yes","percutaneous radiotherapy","yes","cetuximab + carboplatin","yes","yes",250,"yes",250,NA,NA,"Lung",250,"LymphNodes Liver",726,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G3","negative",1,31,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Basaloid",NA -"726","726",2015,74,"male","smoker","no","living","living",1988,"curative","local surgery",46,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN0","G3","not_tested",0,39,NA,"no","no","no","R1","CIS Absent","no","0","SCC_Basaloid",6 -"727","727",2017,51,"female","smoker","no","deceased","deceased tumor specific",788,"curative","local surgery",487,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",447,"yes",447,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2c","G3","negative",3,31,"yes","yes","no","no","R0","Ris0","no","0.2","SCC_Conventional-Keratinizing",4 -"728","728",2010,74,"male","non-smoker","no","deceased","deceased not tumor specific",206,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","G2","negative",1,24,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",5 -"729","729",2017,58,"male","former","no","deceased","deceased tumor specific",1041,"curative","local surgery",35,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","yes",508,"yes",508,"yes",626,"Lung",505,"Bones",626,"OtherOrgans",659,"LymphNodes",893,"Hypopharynx","pT2","pN3b","G2","not_tested",4,35,"yes","no","no","no","R0","CIS Absent","no","0.3","SCC_Conventional-Keratinizing",8 -"730","730",2016,47,"male","former","no","living","living",1091,"curative","local surgery",4,"curative","yes",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,10,NA,"no","no","no","R0","CIS Absent","no",NA,NA,11 -"731","731",2015,60,"male","non-smoker","no","living","living",908,"curative","local surgery",22,"palliative","yes","percutaneous radiotherapy","yes","fluorourcail + cisplatin","yes","yes",362,"yes",630,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G3","not_tested",NA,0,NA,"no","yes","yes","R0","Ris0","yes","0.1","SCC_Conventional-Keratinizing",8 -"732","732",2013,48,"male","smoker","no","deceased","deceased not tumor specific",2660,"curative","local surgery",42,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","NX","G3","negative",NA,0,NA,"no","no","no","R1","CIS Absent","no","0","SCC_Conventional-Keratinizing",7 -"733","733",2006,54,"male",NA,"no","living","living",5163,"curative","local surgery",13,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","pN0","G2","not_tested",0,21,NA,"no","no","no","R0","CIS Absent","no","0.4","SCC_Conventional-Keratinizing",9 -"734","734",2016,48,"female","non-smoker","no","living","living",1576,"curative","local surgery",23,NA,"no",NA,"no",NA,"no","yes",548,"yes",548,NA,NA,"LymphNodes",548,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2","hpv_association_p16","positive",2,26,"no","no","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",6 -"735","735",2015,61,"male","non-smoker","yes","deceased","deceased tumor specific",372,"curative","local surgery",21,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",356,"yes",356,NA,NA,"Skin",356,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2c","G3","negative",4,26,"yes","yes","no","no","R0","CIS Absent","no","0.4","SCC_Conventional-Keratinizing",22 -"736","736",2015,68,"male","smoker","no","living","living",1667,"curative","local surgery",26,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",187,"yes",187,NA,NA,"Lung",187,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",6,40,"yes","yes","no","no","R0","CIS Absent","no","0.5","SCC_Basaloid",42 -"737","737",2016,74,"male","non-smoker","no","living","living",716,"curative","local surgery",23,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2c","hpv_association_p16","positive",3,26,"no","no","no","no","R0","Ris0","yes","0.5","SCC_Basaloid",5 -"738","738",2015,60,"female","smoker","no","living","living",1967,"curative","local surgery",22,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2c","G3","not_tested",3,39,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"739","739",2014,62,"female","smoker","no","living","living",463,"curative","local surgery",32,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","NX","G3","negative",NA,0,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",6 -"740","740",2016,59,"male","former","no","deceased","deceased tumor specific",537,"curative","local surgery",41,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",252,"yes",252,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,13,NA,"no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",4 -"741","741",2016,71,"male","former","no","deceased","deceased not tumor specific",167,"curative","local surgery",31,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN1","G3","negative",1,43,"no","no","no","no","R0","CIS Absent","no","0.1","SCC_Basaloid",7 -"742","742",2016,47,"male","non-smoker","no","living","living",1999,"curative","local surgery",20,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN2c","G3","not_tested",6,36,"yes","no","no","no","R0","CIS Absent","no",NA,"SCC_Basaloid",NA -"743","743",2011,57,"male","smoker","no","deceased","deceased not tumor specific",3072,"curative","local surgery",32,NA,"yes","percutaneous radiotherapy","yes",NA,"yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT3","pN1","G3","not_tested",1,32,"no","no","no","no","R0","Ris0","yes",NA,"SCC_Basaloid",8 -"744","744",2016,56,"male","smoker","no","living","living",431,"curative","local surgery",34,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",2,47,"no","no","no","no","R0","Ris0","yes","0.4","SCC_Conventional-Keratinizing",24 -"745","745",2016,50,"female","smoker","no","living","living",1855,"curative","local surgery",23,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN2b","G3","negative",2,33,"yes","no","no","yes","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",19 -"746","746",2016,66,"male","non-smoker","no","living","living",1646,"curative","local surgery",38,"curative","yes","percutaneous radiotherapy","yes","cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN3b","hpv_association_p16","positive",1,26,"yes","no","no","no","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",8 -"747","747",2013,67,"female","non-smoker","no","living","living",1654,"curative","local surgery",11,"curative","yes","brachytherapy","no",NA,"no","yes",579,"yes",579,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oral_Cavity","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes","0.2","SCC_Conventional-Keratinizing",2 -"748","748",2012,65,"male","former","yes","deceased","deceased tumor specific",474,"curative","local surgery",6,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","yes",363,"yes",363,NA,NA,"Lung LymphNodes",470,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","NX","G3","not_tested",NA,0,NA,"yes","no","no","R0","CIS Absent","no","0.1","SCC_Conventional-Keratinizing",13 -"749","749",2013,58,"male","smoker","no","living","living",38,"curative","local surgery",20,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2","hpv_association_p16","positive",3,78,"no","yes","no","no","R0","Ris0","yes","0.1","SCC_Basaloid",3 -"750","750",2019,74,"male","non-smoker","no","living","living",758,"curative","local surgery",11,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,NA,0.5 -"751","751",2013,59,"female","smoker","no","deceased","deceased not tumor specific",2270,"curative","local surgery",31,"curative","yes","percutaneous radiotherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN2b","G2","negative",2,53,"no","yes","no","no","R0","Ris0","yes","<0.1","SCC_Conventional-Keratinizing",11 -"752","752",2013,63,"male","smoker","no","living","living",2848,"curative","local surgery",26,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1a","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",4 -"753","753",2013,71,"male","former","no","deceased","deceased not tumor specific",920,"curative","local surgery",28,"curative","yes","percutaneous radiotherapy","yes","fluorouracil + carboplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT1","pN2c","G3","negative",5,39,"no","no","no","no","R0","Ris1","yes","1","SCC_Basaloid",3 -"754","754",2014,60,"male","smoker","no","deceased","deceased tumor specific",174,"curative","local surgery",28,NA,"yes","percutaneous radiotherapy","yes","fluorouracil + cisplatin","yes","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT4a","pN0","G3","not_tested",0,46,NA,"no","no","no","R0","CIS Absent","no","<0.1","SCC_Conventional-Keratinizing",NA -"755","755",2006,46,"male",NA,"no","living","living",511,"curative","local surgery",16,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G2","negative",0,40,NA,"no","no","no","R0","CIS Absent","no","0.2","SCC_Conventional-Keratinizing",8 -"756","756",2017,64,"male","former","no","living","living",336,"curative","local surgery",21,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Conventional-Keratinizing",1.5 -"757","757",2018,64,"male","former","no","living","living",292,"curative","local surgery",46,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1","pN0","G3","not_tested",0,24,NA,"no","no","no","R0","Ris0","yes",NA,"SCC_Basaloid",NA -"758","758",2012,50,"male","non-smoker","no","living","living",3253,"curative","local surgery",19,"curative","yes","brachytherapy","no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN0","G3","negative",0,50,NA,"no","no","no","R0","Ris0","yes","0.5","SCC_Conventional-Keratinizing",5 -"759","759",2010,47,"male","smoker","no","deceased","deceased tumor specific",1000,"curative","local surgery",97,NA,"no",NA,"no",NA,"no","yes",690,"yes",690,"yes",900,"Pleura",690,"Bones",900,"Lung",952,NA,NA,"Larynx","pT2","pN2c","G2","not_tested",9,56,"yes","yes","no","yes","R0","CIS Absent","no","0.5","SCC_Conventional-Keratinizing",15 -"760","760",2018,62,"male","non-smoker","yes","deceased","deceased",484,"curative","local surgery",38,"curative","yes","percutaneous radiotherapy","yes",NA,"yes","yes",132,"yes",132,NA,NA,"Skin",369,NA,NA,NA,NA,NA,NA,"Oropharynx","pT3","pN0","G3","negative",0,2,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",10 -"761","761",2017,77,"male","smoker","no","deceased","deceased tumor specific",1082,"curative","local surgery",53,"curative","yes","percutaneous radiotherapy","no",NA,"no","yes",606,"yes",777,NA,NA,"Lung",777,NA,NA,NA,NA,NA,NA,"Hypopharynx","pT2","pN3b","G3","not_tested",5,46,"yes","yes","yes","yes","R0","CIS Absent","no","0.5","SCC_Basaloid",8 -"762","762",2013,62,"female","non-smoker","no","living","living",1644,"curative","local surgery",0,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Oropharynx","pT2","pN1","hpv_association_p16","positive",1,1,"no","no","no","no","R0","CIS Absent","no","<0.1","SCC_Basaloid",4 -"763","763",2016,74,"male","non-smoker","no","living","living",1689,"curative","local surgery",16,NA,"no",NA,"no",NA,"no","no",NA,"no",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Larynx","pT1b","NX","G2","not_tested",NA,0,NA,"no","no","no","R0","CIS Absent","no",NA,"SCC_Conventional-Keratinizing",2