Use when you need a standardized R CLI workflow to run two-class SVM-RFE feature ranking on an expression-like matrix, choose an informative feature count from cross-validated error, and generate reproducible ranking and error plots. NOT for regression, multi-class classification, missing-value imputation, or remote data fetching.
71
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
| Situation | File to Read | Purpose |
|---|---|---|
| Need algorithm details | references/algorithm.md | Explain SVM-RFE ranking, cross-validation logic, assumptions, and interpretation |
| Need to execute the analysis | scripts/main.R | Run the CLI entry point with a complete Rscript command |
| Encounter an error | references/troubleshooting.md | Map standardized error codes to causes and fixes |
| Need CLI examples | references/cli-guide.md | Review installation steps and runnable CLI examples |
| Need a runnable smoke test | tests/data/ | Use the bundled small dataset for verification |
Rscript scripts/main.R \
--input_file ./input/expression_matrix.csv \
--group_file ./input/group_info.csv \
--case_group Case \
--control_group Control \
--output_dir output/basic-run \
--seed 42 \
--timeout_seconds 600| Short | Long | Type | Default | Required | Description |
|---|---|---|---|---|---|
-i | --input_file | character | none | yes, unless --plot_only TRUE | Expression matrix file with samples in rows and features in columns |
-g | --group_file | character | none | yes, unless --plot_only TRUE | Group file with sample IDs in the first column |
-c | --case_group | character | none | yes, unless --plot_only TRUE | Case group label |
-r | --control_group | character | none | yes, unless --plot_only TRUE | Control group label |
-o | --output_dir | character | output | yes | Output directory inside the skill root |
-p | --plot_only | logical | FALSE | no | Reuse output_dir/data/svm_result.rds and regenerate plots without rerunning SVM-RFE |
-s | --seed | integer | 42 | no | Random seed for reproducibility |
-t | --timeout_seconds | integer | 600 | no | Elapsed time limit for the run |
--svm_k | integer | 10 | no | Number of stratified outer folds used for SVM-RFE and validation | |
--svm_halve_above | integer | 50 | no | If surviving features exceed this count, remove half per iteration | |
--svm_max_features_cap | integer | 30 | no | Maximum feature count evaluated on the error curve | |
--svm_select_rule | character | min | no | Feature-count rule: min or tolerance | |
--svm_tol | numeric | 0.01 | no | Tolerance used when --svm_select_rule tolerance is selected | |
--svm_error_height | numeric | 5 | no | SVM error plot height in inches | |
--svm_error_width | numeric | 6 | no | SVM error plot width in inches | |
--svm_error_xlab | character | Number of Features | no | X-axis label for the SVM error plot | |
--svm_error_ylab | character | Classification Error Rate | no | Y-axis label for the SVM error plot | |
--svm_error_main_line_color | character | black | no | Main line color for the SVM error plot | |
--svm_error_second_line_color | character | #2BA2DE | no | Baseline line color for the SVM error plot | |
--svm_error_best_point_color | character | red | no | Highlight color for the best feature-count point | |
--svm_error_noinfo_lty | integer | 3 | no | Line type for the no-information baseline | |
--svm_error_label_cex | numeric | 0.75 | no | Label size for the best-point annotation | |
--svm_error_label_pos | integer | 4 | no | Label position for the best-point annotation | |
--svm_rank_top_n | integer | 20 | no | Maximum number of ranked features shown in the ranking plot | |
--svm_rank_width | numeric | 7 | no | Ranking plot width in inches | |
--svm_rank_height | numeric | 6 | no | Ranking plot height in inches | |
--svm_rank_color | character | #2BA2DE | no | Bar color for the ranking plot | |
--svm_rank_title | character | SVM-RFE Feature Ranking | no | Title for the ranking plot |
Example:
sample,HIF1A,NR4A1,SOCS1
S1,6.21,-1.34,2.01
S2,6.57,0.37,3.62
S3,7.05,2.12,5.01Example:
sample,group
S1,Case
S2,Case
S3,Control| File | Format | Description |
|---|---|---|
data/svm_result.rds | RDS | Serialized SVM-RFE bundle with ranking results and metadata |
table/svm_rfe_features.csv | CSV | Selected ranked features using the chosen feature-count rule |
table/svm_rfe_full_ranking.csv | CSV | Full ranking table across all input features |
plot/svm_rfe_error_plot.pdf | Cross-validated classification error across feature counts | |
plot/svm_rfe_ranking_plot.pdf | Bar plot of the highest-ranked SVM-RFE features | |
session_info.txt | TXT | R version, platform, and package version information |
0.1.SKILL_FILE_NOT_FOUND and SKILL_INVALID_PARAMETER.--output_dir cannot write outside the skill root.eval(), exec(), or system().Common codes:
| Error Code | Meaning |
|---|---|
SKILL_FILE_NOT_FOUND | An input file or required plot-only artifact does not exist |
SKILL_MISSING_COLUMNS | The input file does not contain the required columns |
SKILL_EMPTY_DATA | An input file is empty or a required ranking table is unavailable |
SKILL_INVALID_PARAMETER | A CLI argument, group setting, numeric constraint, or path is invalid |
SKILL_SAMPLE_MISMATCH | Sample IDs do not match between the expression matrix and group file |
SKILL_PACKAGE_NOT_FOUND | One or more required CRAN packages are missing |
For detailed fixes, READ: references/troubleshooting.md
Rscript scripts/main.R --helpRscript tests/run_tests.RRscript scripts/main.R \
--input_file tests/data/expression_matrix.csv \
--group_file tests/data/group_info.csv \
--case_group AR \
--control_group Control \
--output_dir tests/output/manual-test \
--seed 42 \
--svm_k 4 \
--svm_max_features_cap 6 \
--svm_rank_top_n 6 \
--timeout_seconds 300f5ef65b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.