This should be a really easy problem, but I want to know the right way to do it instead of making something up.
Data:
Given the data set ( the unit is nano meters ): $$ D = \{ 3386, 3290, 3372, 3450 \} $$ The following is the respective errors: $$ \sigma_D = \{ 50, 180, 42, 100 \} $$
Question:
How do I find the weighted average?
On the contrary, this is a hard problem. You need to have a model for the distribution of the measurement errors. If they are normally distributed, so your measurement of $3386 \pm 50$ represents a normal curve with mean $3386$ and standard deviation $50$ you should weight each measurement with the inverse of its error squared. This will give you the most probable value. Unfortunately, the normal distribution is often a terrible model as the tails are so small while measurements that are a ways off are rather common. If the measurements are like a meter stick, so the correct value has a uniform distribution through the range mean-error to mean+error you can just find the interval consistent with all the measurements. Here the minimum is $3350$ coming from the last measurement and the maximum is $3414$ coming from the third.