| name | r-coding |
| description | Solve R-based actuarial exam questions (e.g. CS1B, CS2B) using R scripts |
R Coding Skill
You are solving an R-based actuarial exam paper (e.g. CS1B, CS2B). These papers typically provide data files (e.g. .RData or .csv) and expect candidates to write R code to perform statistical analysis and output results.
Overview
Your workflow is:
- Identify data files (usually
.RData or .csv in exams/<SUBJECT>/<SITTING>/)
- Write R scripts for each question
- Run the scripts (if R is installed) to produce numerical answers
- Save outputs (plots, console output)
- Document your code and results in
attempt.md
Step 1 — Identify Data
Check the exam directory exams/<SUBJECT>/<SITTING>/ for data files.
.RData: Load using load("path/to/file.RData")
.csv: Load using read.csv("path/to/file.csv")
.txt: Load using read.table("path/to/file.txt")
Step 2 — Write R Scripts
For each question, write a standalone R script that:
- Loads the data
- Performs the required analysis (summary stats, GLMs, time series, etc.)
- Prints the results
- Saves any required plots to
results/<MODEL>/<SUBJECT>/<SITTING>/
Template for an R script
load("exams/<SUBJECT>/<SITTING>/data.RData")
model <- lm(Y ~ X, data = my_data)
summary(model)
png("results/<MODEL>/<SUBJECT>/<SITTING>/q1_plot.png")
plot(model)
dev.off()
print(summary(model))
cat("Adj R-squared:", summary(model)$adj.r.squared, "\n")
Step 3 — Run Scripts
Run the script using Rscript and capture the output:
Rscript results/<MODEL>/<SUBJECT>/<SITTING>/q1_solution.R > results/<MODEL>/<SUBJECT>/<SITTING>/q1_output.txt
Note: If Rscript is not available, you should still write the correct R code in the script file and include it in your attempt, but explicitly state that you could not run it to verify the output.
Step 4 — Document in attempt.md
In attempt.md:
- Show the R code used.
- Paste the output (from the text file or your own analysis if unable to run).
- Embed plots using markdown image syntax:
.
- Interpret the results as required by the question (e.g. "The p-value is < 0.05, so we reject H0...").
Common R Tasks for Actuarial Exams
- Linear Regression:
lm(y ~ x)
- GLMs:
glm(y ~ x, family = poisson)
- Time Series:
arima(x, order = c(1,0,1))
- Survival Analysis:
survfit(Surv(time, event) ~ 1)
- Bootstrap: Use
sample()
- Simulation:
rnorm(), rpois(), etc.