Meta - analysis for paired data (individual patient data, IPD) I've got data for three experiments, pre-post data, where I have all the individual level data (not shown). I want to produce a comparison with summary data in the form of a meta-analysis and forest plot. e.g. mean difference, with CI and the summary mean difference and CI for all three datasets combined.
The experiments are by one team but in three separate regions.
I thought a meta-analysis would do the trick, but using meta in R, I can only figure out how to enter the overall mean/SD and not how to show the data is paired. The unpaired data does not appear to show a statistically significant change, yet the p-value for the paired data (in region 1 and 2, and all data combined, but not region 3) does show a statistically significant change.

I can use a t-test to get the mean difference with 95% CIs and I've plotted this for all three regions individually and when the raw data is combined (all).

I assume that combining the raw data is not the right method to get a summary mean/CI.
The cochrane hand book for individual patient data, (IPD) says: https://training.cochrane.org/handbook/current/chapter-26#section-26-4
"To date, most IPD meta-analyses have used a two-stage approach to analysis (Simmonds et al 2005, Bowden et al 2011, Simmonds et al 2015), whereby each individual study is analysed independently in the first stage, reducing the IPD to summary statistics (i.e. aggregate data). In the second stage, these are combined to provide a pooled estimate of effect, in much the same way as for a conventional systematic review (Simmonds et al 2005). Thus, standard statistics and forest plots can be produced."
So which data do I need to summarise and how do I use them with meta or metafor in R. Mean -sd  of pre-post entered into meta/metafor as experiment/control is not the right approach.
What is?
Example data:
df1 <- data.frame(n = 32,
                  mean_start = 88.125,
                  sd_start   = 19.129,
                  mean_end   = 85.344,
                  sd_end     = 19.622,
                  mean_diff =  2.781,
                  sd_diff =    6.489,
                  cor =        0.944,
                  p_value =    0.022,
                  country    = "Group1")

df2 <- data.frame(n = 30,
                  mean_start = 90.835,
                  sd_start   = 29.077,
                  mean_end   = 85.284,
                  sd_end     = 27.661,
                  mean_diff =  4.386,
                  sd_diff =    9.404,
                  cor =        0.948,
                  p_value =    0.001,
                  country    = "Group2")

df3 <- data.frame(n = 22,
                  mean_start = 84.9,
                  sd_start   = 14.294,
                  mean_end   = 84.195,
                  sd_end     = 16.435,
                  mean_diff =  0.705,
                  sd_diff =    5.8,
                  cor =        0.938,
                  p_value =    0.17,
                  country = "Group3")

df <- rbind(df1, df2, df3)

meta_output <- metacont(
  n.e =    n, #number in experimental group
  mean.e = mean_start, # mean of experimental group
  sd.e =   sd_start, # sd 
  n.c =    n, #number in control group
  mean.c = mean_end, # mean of control group
  sd.c   = sd_end, # sd 
  studlab = country, 
  data = df)```


So this was quite straightforward in the end. Many thanks for the comments, I've posted code here.
So instead of taking mean-start and sd-start, mean-final and sd-final and entering this into metacont (for continuous variables) as experiment and control, you take the mean-change, se-change and enter this into meta::metamean in R. That's it.
And using metamean instead of merely combining the raw data gives you the heterogenity data which is good to have.
  n =    n, #number
  mean = mean, # mean of change in weight measured for each participant
  sd =   sd, # sd of change in weight
  studlab = Country, 
  data = Weight_meta
)```

[![Forest plot of mean change][1]][1]

[1]: https://i.stack.imgur.com/16kAO.png

