Hi, and welcome!

A reproducible example, called a reprex is a great way to attract more and better answers. Using the example in the documentation, here's what one looks like.

```
library(anesrake)
#> Loading required package: Hmisc
#> Loading required package: lattice
#> Loading required package: survival
#> Loading required package: Formula
#> Loading required package: ggplot2
#>
#> Attaching package: 'Hmisc'
#> The following objects are masked from 'package:base':
#>
#> format.pval, units
#> Loading required package: weights
#> Loading required package: gdata
#> gdata: read.xls support for 'XLS' (Excel 97-2004) files ENABLED.
#>
#> gdata: read.xls support for 'XLSX' (Excel 2007+) files ENABLED.
#>
#> Attaching package: 'gdata'
#> The following object is masked from 'package:stats':
#>
#> nobs
#> The following object is masked from 'package:utils':
#>
#> object.size
#> The following object is masked from 'package:base':
#>
#> startsWith
#> Loading required package: mice
#>
#> Attaching package: 'mice'
#> The following objects are masked from 'package:base':
#>
#> cbind, rbind
data("anes04")
anes04$caseid <- 1:length(anes04$age)
anes04$agecats <- cut(anes04$age, c(0, 25,35,45,55,65,99))
levels(anes04$agecats) <- c("age1824", "age2534", "age3544",
"age4554", "age5564", "age6599")
marriedtarget <- c(.4, .6)
agetarg <- c(.10, .15, .17, .23, .22, .13)
names(agetarg) <- c("age1824", "age2534", "age3544",
"age4554", "age5564", "age6599")
targets <- list(marriedtarget, agetarg)
names(targets) <- c("married", "agecats")
outsave <- anesrake(targets, anes04, caseid=anes04$caseid,
verbose=TRUE)
#> [1] "Raking...Iteration 1"
#> [1] "Current iteration changed total weights by 303.931933308375"
#> [1] "Raking...Iteration 2"
#> [1] "Current iteration changed total weights by 50.8760710934304"
#> [1] "Raking...Iteration 3"
#> [1] "Current iteration changed total weights by 2.45181318049929"
#> [1] "Raking...Iteration 4"
#> [1] "Current iteration changed total weights by 0.115529921587497"
#> [1] "Raking...Iteration 5"
#> [1] "Current iteration changed total weights by 0.00543798477855262"
#> [1] "Raking...Iteration 6"
#> [1] "Current iteration changed total weights by 0.000255952672060356"
#> [1] "Raking...Iteration 7"
#> [1] "Current iteration changed total weights by 1.20470391882233e-05"
#> [1] "Raking...Iteration 8"
#> [1] "Current iteration changed total weights by 5.67023318742699e-07"
#> [1] "Raking...Iteration 9"
#> [1] "Current iteration changed total weights by 2.66883061206258e-08"
#> [1] "Raking...Iteration 10"
#> [1] "Current iteration changed total weights by 1.25607590995003e-09"
#> [1] "Raking...Iteration 11"
#> [1] "Current iteration changed total weights by 5.92315085867767e-11"
#> [1] "Raking...Iteration 12"
#> [1] "Current iteration changed total weights by 2.76700884427328e-12"
#> [1] "Raking...Iteration 13"
#> [1] "Current iteration changed total weights by 2.07389660999979e-13"
#> [1] "Raking...Iteration 14"
#> [1] "Current iteration changed total weights by 1.23678844943242e-13"
#> [1] "Raking...Iteration 15"
#> [1] "Current iteration changed total weights by 1.2356782264078e-13"
#> [1] "Raking converged in 15 iterations"
caseweights <- data.frame(cases=outsave$caseid, weights=outsave$weightvec)
summary(caseweights)
#> cases weights
#> Min. : 1.0 Min. :0.4665
#> 1st Qu.: 303.8 1st Qu.:0.6956
#> Median : 606.5 Median :0.8864
#> Mean : 606.5 Mean :1.0000
#> 3rd Qu.: 909.2 3rd Qu.:1.1874
#> Max. :1212.0 Max. :1.7870
summary(outsave)
#> $convergence
#> [1] "Complete convergence was achieved after 15 iterations"
#>
#> $base.weights
#> [1] "No Base Weights Were Used"
#>
#> $raking.variables
#> [1] "married" "agecats"
#>
#> $weight.summary
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 0.4665 0.6956 0.8864 1.0000 1.1874 1.7870
#>
#> $selection.method
#> [1] "variable selection conducted using _pctlim_ - discrepancies selected using _total_."
#>
#> $general.design.effect
#> [1] 1.128633
#>
#> $married
#> Target Unweighted N Unweighted % Wtd N Wtd % Change in % Resid. Disc.
#> FALSE 0.6 563 0.464905 726.6693 0.6 0.1350950 0.000000e+00
#> TRUE 0.4 648 0.535095 484.4462 0.4 -0.1350950 5.551115e-17
#> Total 1.0 1211 1.000000 1211.1155 1.0 0.2701899 5.551115e-17
#> Orig. Disc.
#> FALSE 0.1350950
#> TRUE -0.1350950
#> Total 0.2701899
#>
#> $agecats
#> Target Unweighted N Unweighted % Wtd N Wtd % Change in %
#> age1824 0.10 150 0.1237624 121.20 0.10 -0.023762376
#> age2534 0.15 205 0.1691419 181.80 0.15 -0.019141914
#> age3544 0.17 217 0.1790429 206.04 0.17 -0.009042904
#> age4554 0.23 237 0.1955446 278.76 0.23 0.034455446
#> age5564 0.22 216 0.1782178 266.64 0.22 0.041782178
#> age6599 0.13 187 0.1542904 157.56 0.13 -0.024290429
#> Total 1.00 1212 1.0000000 1212.00 1.00 0.152475248
#> Resid. Disc. Orig. Disc.
#> age1824 0.000000e+00 -0.023762376
#> age2534 0.000000e+00 -0.019141914
#> age3544 0.000000e+00 -0.009042904
#> age4554 2.775558e-17 0.034455446
#> age5564 5.551115e-17 0.041782178
#> age6599 0.000000e+00 -0.024290429
#> Total 8.326673e-17 0.152475248
```

^{Created on 2020-01-17 by the reprex package (v0.3.0)}

The difficulty in resolving the code you're having trouble with is that `data`

is not specified. (It doesn't have to be all your data or even your data at all, just representative; often it's possible to convert a built-in data set to meet the need.) Another aside: `data`

is also the name of a built-in function. It's good practice to use `dat`

or some other non-reserved term.

According to the documentation the weightsvector argument is optional and

```
1 + NULL
numeric(0)
```

so that leaves `x`

. Are you sure `data$caseID`

is numeric?