The Zygocity questionnaire was developed by the Norwegian Public Health Institute (FHI; Folkehelseinstituttet) for their twin registry studies. Its a series of questions probing the similarities between twins, to determine if they are mono- or dizygotic.

zygo_compute(
  data,
  twin_col,
  cols,
  recode = TRUE,
  prefix = "zygo_",
  keep_all = FALSE
)

Arguments

data

dara.frame with the relevant data

twin_col

column that codes for twin pairs. Each twin should have the same identifier here.

cols

columns that contain the zygocity data. Use tidy-selectors

recode

logical indicating if data should be recoded from 1-5(7) to -1. 0. 1.

prefix

string to prefix column names of computed values

keep_all

logical, append to data.frame

Value

data.frame with computed values

Details

Classification

This note contains a brief description of the algorithm used to determine zygocity in recruitment in the 2000s.

NameAnswer questions about...Used for
DropYou and your twin were like two drops of water in childhoodPairs and singles
StrangerStrangers had trouble telling the difference when you were childrenPairs and singles
EyeSimilarity in terms of eye colorPairs
VoiceSimilarity in terms of voiceSingle
DexterSimilarity in DexterityPairs and Singles
BeliefWhat you believe yourselfPairs and Singles

"Single" twins here means those who have responded alone, i.e. there is no data available for both in the pair. The similarity questions that are not found in the table above, e.g. whether or not family members had problems distinguishing the twins is not used in the classification.

Weights

During calculations of the entire zygocity score, weights are applied to the different categories, depending on whether one or both twins have responded to the questionnaire.

NameAnswer questions about...Factor singleFactor pair
DropYou and your twin were like two drops of water1.4942.111
StrangerStrangers had trouble seeing the difference0.6470.691
EyeSimilarity in terms of eye color0.394
VoiceSimilarity in terms of voice0.347
DexterDexterity Similarity0.4580.366
BeliefWhat you believe yourself0.4170.481
Constant term in the formula0.007- 0.087

Coding

"Form value" is the value the answer option has in the data file. "Score value" is the value used in the algorithm when zygocity is calculated.

VariableAnswer optionForm valueScore value
DropLike two drops of water11
Like most siblings2-1
Don't know30
StrangerOften11
Occasionally20
Never3-1
Don't know40
BeliefMonozygotic11
Dizygotic2-1
Don't know30
Eye, Voice & DexterExactly the same11
Almost like20
Different3-1
Don't know40

No answer option is used directly in the calculations, only the score values. In the following, it is these values (-1, 0 or 1) that are used in the algorithms. E.g. has Drop in the formula value 1 for a positive answer to whether the twins were equal to two drops of water.

The higher the absolute value of the final score, the more certain / clearer the classification. For answers that reveal greater uncertainty about the similarity (e.g. a greater proportion of "almost" and "don't know"), the value will be closer to zero.

Pair formula

For pairs where both have answered, the pair's average values for all score values are first calculated. That is Drop = (Drop1 + Drop2) / 2, etc., where Drop1 is the score value of the response from twin 1 and Drop2 is the score value of the response from twin 2 in the same pair. zygocity=(drop1+drop221.494)+(stranger1+stranger220.647)+(dexter1+dexter220.458)+(belief1+belief220.417)+(voice1+voice220.347)+0.007zygocity = (\frac{drop{_1} + drop{_2}}{2} * 1.494) + (\frac{stranger{_1} + stranger{_2}}{2} * 0.647 ) + (\frac{dexter{_1} + dexter{_2}}{2} * 0.458) + (\frac{belief{_1} + belief{_2}}{2} * 0.417) + (\frac{voice{_1} + voice{_2}}{2} * 0.347) + 0.007

The sign of this "pair score" is then used to determine zygocity in the same way as for "single": Negative value means double, positive value means single.

Single formula

If only one twin in the pair has responded, the following is calculated: zygocity=drop12.111+stranger10.691+dexter10.366+belief10.481+eye10.3940.087zygocity = drop{_1} * 2.111 + stranger{_1} * 0.691 + dexter{_1} * 0.366 + belief{_1} * 0.481 + eye{_1} * 0.394 - 0.087

The sign of this "single score" is then used to determine the zygocity: Negative value means double egg, positive value means single egg.

Column names

By default, the functions assume that columns have names in the manner of zygocity_XX where XX is a zero-padded (i.e. zero in front of numbers below 9, eg. 09) question number of the inventory. You may have column names in another format, but in that case you will need to supply to the functions the names of those columns using tidy-selectors (see the tidyverse packages for this). The columns should adhere to some naming logic that is easy to specify.

Data values

The values in the columns should be the item number of the question that was answered (i.e. 1, 2, or 3, and for some questions also 4).