# Gam contrainted to pass through fixed value - add argument paraPen?

Hi, I am trying to use the strategy outlined here [R] Use pcls in "mgcv" package to achieve constrained cubic spline to fit a gam constrained to pass through a fixed value. I can get this to work using mgcv, but am unable to get this to work using brms because the paraPen argument has not been implemented in brms. Does anyone know a way around this, if there is a different strategy that can be used to achieve the same thing or could this be added to brms?

Example constraining spline to pass through a particular point (0,.6)…

## Fake some data…

library(mgcv)
library(brms)
set.seed(0)
n ← 100
x ← runif(n)4-1;x ← sort(x);
f ← exp(4
x)/(1+exp(4*x));y ← f+rnorm(100)*0.1;plot(x,y)
dat ← data.frame(x=x,y=y)

## Create a spline basis and penalty, making sure there is a knot at the constraint point, (0 here, but could be anywhere)

knots ← data.frame(x=seq(-1,3,length=9)) ## create knots

## set up smoother…

sm ← smoothCon(s(x, k=9, bs=“cr”), dat, knots=knots)[[1]]

## set it to 0 by dropping…

X ← sm\$X[,-3] ## spline basis
S ← sm\$S[[1]][-3,-3] ## spline penalty
off ← y*0 + .6 ## offset term to force curve through (0, .6)

## fit spline constrained through (0, .6)

b ← gam(y ~ X - 1 + offset(off), paraPen=list(X=list(S)))
lines(x,predict(b))
dat\$X ← sm\$X[,-3]
dat\$off ← off
b2 ← brm(y ~ X - 1 + offset(off), paraPen=list(X=list(S)), data = dat)