pub async fn pca_analyze( file_path: &str, n_components: usize, cols: &[&str], output: &str, ) -> Result<String, String>