Get information of individuals by matching from an external file.

snp_getSampleInfos(
  x,
  df.or.files,
  col.family.ID = 1,
  col.sample.ID = 2,
  col.infos = -c(1, 2),
  pair.sep = "-_-",
  ...
)

Arguments

x

A bigSNP.

df.or.files

Either

  • A data.frame,

  • A character vector of file names where to find at the information you want. You should have one column for family IDs and one for sample IDs.

col.family.ID

Index of the column containing the family IDs to match with those of the study. Default is the second one.

col.sample.ID

Index of the column containing the sample IDs to match with those of the study. Default is the first one.

col.infos

Indices of the column containing the information you want. Default is all but the first and the second columns.

pair.sep

Separator used for concatenation family and sample IDs in order to match easier. Default is "-_-".

...

Any additional parameter to pass to bigreadr::fread2(). Particularly, option header = FALSE is sometimes needed.

Value

The requested information as a data.frame.

See also

Examples

test <- snp_attachExtdata()
# Just after reading
rle(test$fam$family.ID)
#> Run Length Encoding
#>   lengths: int [1:19] 34 28 15 35 31 25 30 35 35 20 ...
#>   values : chr [1:19] "POP1" "POP2" "POP3" "POP4" "POP5" "POP6" "POP7" "POP8" "POP9" ...
# Get populations clusters from external files
files <- system.file("extdata", paste0("cluster", 1:3), package = "bigsnpr")
bigreadr::fread2(files[1])
#>     POP1   IND0 POP-1-5
#> 1   POP1   IND1 POP-1-5
#> 2   POP1   IND2 POP-1-5
#> 3   POP1   IND3 POP-1-5
#> 4   POP1   IND4 POP-1-5
#> 5   POP1   IND5 POP-1-5
#> 6   POP1   IND6 POP-1-5
#> 7   POP1   IND7 POP-1-5
#> 8   POP1   IND8 POP-1-5
#> 9   POP1   IND9 POP-1-5
#> 10  POP1  IND10 POP-1-5
#> 11  POP1  IND11 POP-1-5
#> 12  POP1  IND12 POP-1-5
#> 13  POP1  IND13 POP-1-5
#> 14  POP1  IND14 POP-1-5
#> 15  POP1  IND15 POP-1-5
#> 16  POP1  IND16 POP-1-5
#> 17  POP1  IND17 POP-1-5
#> 18  POP1  IND18 POP-1-5
#> 19  POP1  IND19 POP-1-5
#> 20  POP1  IND20 POP-1-5
#> 21  POP1  IND21 POP-1-5
#> 22  POP1  IND22 POP-1-5
#> 23  POP1  IND23 POP-1-5
#> 24  POP1  IND24 POP-1-5
#> 25  POP1  IND25 POP-1-5
#> 26  POP1  IND26 POP-1-5
#> 27  POP1  IND27 POP-1-5
#> 28  POP1  IND28 POP-1-5
#> 29  POP1  IND29 POP-1-5
#> 30  POP1  IND30 POP-1-5
#> 31  POP1  IND31 POP-1-5
#> 32  POP1  IND32 POP-1-5
#> 33  POP1  IND33 POP-1-5
#> 34  POP2  IND34 POP-1-5
#> 35  POP2  IND35 POP-1-5
#> 36  POP2  IND36 POP-1-5
#> 37  POP2  IND37 POP-1-5
#> 38  POP2  IND38 POP-1-5
#> 39  POP2  IND39 POP-1-5
#> 40  POP2  IND40 POP-1-5
#> 41  POP2  IND41 POP-1-5
#> 42  POP2  IND42 POP-1-5
#> 43  POP2  IND43 POP-1-5
#> 44  POP2  IND44 POP-1-5
#> 45  POP2  IND45 POP-1-5
#> 46  POP2  IND46 POP-1-5
#> 47  POP2  IND47 POP-1-5
#> 48  POP2  IND48 POP-1-5
#> 49  POP2  IND49 POP-1-5
#> 50  POP2  IND50 POP-1-5
#> 51  POP2  IND51 POP-1-5
#> 52  POP2  IND52 POP-1-5
#> 53  POP2  IND53 POP-1-5
#> 54  POP2  IND54 POP-1-5
#> 55  POP2  IND55 POP-1-5
#> 56  POP2  IND56 POP-1-5
#> 57  POP2  IND57 POP-1-5
#> 58  POP2  IND58 POP-1-5
#> 59  POP2  IND59 POP-1-5
#> 60  POP2  IND60 POP-1-5
#> 61  POP2  IND61 POP-1-5
#> 62  POP3  IND62 POP-1-5
#> 63  POP3  IND63 POP-1-5
#> 64  POP3  IND64 POP-1-5
#> 65  POP3  IND65 POP-1-5
#> 66  POP3  IND66 POP-1-5
#> 67  POP3  IND67 POP-1-5
#> 68  POP3  IND68 POP-1-5
#> 69  POP3  IND69 POP-1-5
#> 70  POP3  IND70 POP-1-5
#> 71  POP3  IND71 POP-1-5
#> 72  POP3  IND72 POP-1-5
#> 73  POP3  IND73 POP-1-5
#> 74  POP3  IND74 POP-1-5
#> 75  POP3  IND75 POP-1-5
#> 76  POP3  IND76 POP-1-5
#> 77  POP4  IND77 POP-1-5
#> 78  POP4  IND78 POP-1-5
#> 79  POP4  IND79 POP-1-5
#> 80  POP4  IND80 POP-1-5
#> 81  POP4  IND81 POP-1-5
#> 82  POP4  IND82 POP-1-5
#> 83  POP4  IND83 POP-1-5
#> 84  POP4  IND84 POP-1-5
#> 85  POP4  IND85 POP-1-5
#> 86  POP4  IND86 POP-1-5
#> 87  POP4  IND87 POP-1-5
#> 88  POP4  IND88 POP-1-5
#> 89  POP4  IND89 POP-1-5
#> 90  POP4  IND90 POP-1-5
#> 91  POP4  IND91 POP-1-5
#> 92  POP4  IND92 POP-1-5
#> 93  POP4  IND93 POP-1-5
#> 94  POP4  IND94 POP-1-5
#> 95  POP4  IND95 POP-1-5
#> 96  POP4  IND96 POP-1-5
#> 97  POP4  IND97 POP-1-5
#> 98  POP4  IND98 POP-1-5
#> 99  POP4  IND99 POP-1-5
#> 100 POP4 IND100 POP-1-5
#> 101 POP4 IND101 POP-1-5
#> 102 POP4 IND102 POP-1-5
#> 103 POP4 IND103 POP-1-5
#> 104 POP4 IND104 POP-1-5
#> 105 POP4 IND105 POP-1-5
#> 106 POP4 IND106 POP-1-5
#> 107 POP4 IND107 POP-1-5
#> 108 POP4 IND108 POP-1-5
#> 109 POP4 IND109 POP-1-5
#> 110 POP4 IND110 POP-1-5
#> 111 POP4 IND111 POP-1-5
#> 112 POP5 IND112 POP-1-5
#> 113 POP5 IND113 POP-1-5
#> 114 POP5 IND114 POP-1-5
#> 115 POP5 IND115 POP-1-5
#> 116 POP5 IND116 POP-1-5
#> 117 POP5 IND117 POP-1-5
#> 118 POP5 IND118 POP-1-5
#> 119 POP5 IND119 POP-1-5
#> 120 POP5 IND120 POP-1-5
#> 121 POP5 IND121 POP-1-5
#> 122 POP5 IND122 POP-1-5
#> 123 POP5 IND123 POP-1-5
#> 124 POP5 IND124 POP-1-5
#> 125 POP5 IND125 POP-1-5
#> 126 POP5 IND126 POP-1-5
#> 127 POP5 IND127 POP-1-5
#> 128 POP5 IND128 POP-1-5
#> 129 POP5 IND129 POP-1-5
#> 130 POP5 IND130 POP-1-5
#> 131 POP5 IND131 POP-1-5
#> 132 POP5 IND132 POP-1-5
#> 133 POP5 IND133 POP-1-5
#> 134 POP5 IND134 POP-1-5
#> 135 POP5 IND135 POP-1-5
#> 136 POP5 IND136 POP-1-5
#> 137 POP5 IND137 POP-1-5
#> 138 POP5 IND138 POP-1-5
#> 139 POP5 IND139 POP-1-5
#> 140 POP5 IND140 POP-1-5
#> 141 POP5 IND141 POP-1-5
#> 142 POP5 IND142 POP-1-5
# need header option
bigreadr::fread2(files[1], header = FALSE)
#>       V1     V2      V3
#> 1   POP1   IND0 POP-1-5
#> 2   POP1   IND1 POP-1-5
#> 3   POP1   IND2 POP-1-5
#> 4   POP1   IND3 POP-1-5
#> 5   POP1   IND4 POP-1-5
#> 6   POP1   IND5 POP-1-5
#> 7   POP1   IND6 POP-1-5
#> 8   POP1   IND7 POP-1-5
#> 9   POP1   IND8 POP-1-5
#> 10  POP1   IND9 POP-1-5
#> 11  POP1  IND10 POP-1-5
#> 12  POP1  IND11 POP-1-5
#> 13  POP1  IND12 POP-1-5
#> 14  POP1  IND13 POP-1-5
#> 15  POP1  IND14 POP-1-5
#> 16  POP1  IND15 POP-1-5
#> 17  POP1  IND16 POP-1-5
#> 18  POP1  IND17 POP-1-5
#> 19  POP1  IND18 POP-1-5
#> 20  POP1  IND19 POP-1-5
#> 21  POP1  IND20 POP-1-5
#> 22  POP1  IND21 POP-1-5
#> 23  POP1  IND22 POP-1-5
#> 24  POP1  IND23 POP-1-5
#> 25  POP1  IND24 POP-1-5
#> 26  POP1  IND25 POP-1-5
#> 27  POP1  IND26 POP-1-5
#> 28  POP1  IND27 POP-1-5
#> 29  POP1  IND28 POP-1-5
#> 30  POP1  IND29 POP-1-5
#> 31  POP1  IND30 POP-1-5
#> 32  POP1  IND31 POP-1-5
#> 33  POP1  IND32 POP-1-5
#> 34  POP1  IND33 POP-1-5
#> 35  POP2  IND34 POP-1-5
#> 36  POP2  IND35 POP-1-5
#> 37  POP2  IND36 POP-1-5
#> 38  POP2  IND37 POP-1-5
#> 39  POP2  IND38 POP-1-5
#> 40  POP2  IND39 POP-1-5
#> 41  POP2  IND40 POP-1-5
#> 42  POP2  IND41 POP-1-5
#> 43  POP2  IND42 POP-1-5
#> 44  POP2  IND43 POP-1-5
#> 45  POP2  IND44 POP-1-5
#> 46  POP2  IND45 POP-1-5
#> 47  POP2  IND46 POP-1-5
#> 48  POP2  IND47 POP-1-5
#> 49  POP2  IND48 POP-1-5
#> 50  POP2  IND49 POP-1-5
#> 51  POP2  IND50 POP-1-5
#> 52  POP2  IND51 POP-1-5
#> 53  POP2  IND52 POP-1-5
#> 54  POP2  IND53 POP-1-5
#> 55  POP2  IND54 POP-1-5
#> 56  POP2  IND55 POP-1-5
#> 57  POP2  IND56 POP-1-5
#> 58  POP2  IND57 POP-1-5
#> 59  POP2  IND58 POP-1-5
#> 60  POP2  IND59 POP-1-5
#> 61  POP2  IND60 POP-1-5
#> 62  POP2  IND61 POP-1-5
#> 63  POP3  IND62 POP-1-5
#> 64  POP3  IND63 POP-1-5
#> 65  POP3  IND64 POP-1-5
#> 66  POP3  IND65 POP-1-5
#> 67  POP3  IND66 POP-1-5
#> 68  POP3  IND67 POP-1-5
#> 69  POP3  IND68 POP-1-5
#> 70  POP3  IND69 POP-1-5
#> 71  POP3  IND70 POP-1-5
#> 72  POP3  IND71 POP-1-5
#> 73  POP3  IND72 POP-1-5
#> 74  POP3  IND73 POP-1-5
#> 75  POP3  IND74 POP-1-5
#> 76  POP3  IND75 POP-1-5
#> 77  POP3  IND76 POP-1-5
#> 78  POP4  IND77 POP-1-5
#> 79  POP4  IND78 POP-1-5
#> 80  POP4  IND79 POP-1-5
#> 81  POP4  IND80 POP-1-5
#> 82  POP4  IND81 POP-1-5
#> 83  POP4  IND82 POP-1-5
#> 84  POP4  IND83 POP-1-5
#> 85  POP4  IND84 POP-1-5
#> 86  POP4  IND85 POP-1-5
#> 87  POP4  IND86 POP-1-5
#> 88  POP4  IND87 POP-1-5
#> 89  POP4  IND88 POP-1-5
#> 90  POP4  IND89 POP-1-5
#> 91  POP4  IND90 POP-1-5
#> 92  POP4  IND91 POP-1-5
#> 93  POP4  IND92 POP-1-5
#> 94  POP4  IND93 POP-1-5
#> 95  POP4  IND94 POP-1-5
#> 96  POP4  IND95 POP-1-5
#> 97  POP4  IND96 POP-1-5
#> 98  POP4  IND97 POP-1-5
#> 99  POP4  IND98 POP-1-5
#> 100 POP4  IND99 POP-1-5
#> 101 POP4 IND100 POP-1-5
#> 102 POP4 IND101 POP-1-5
#> 103 POP4 IND102 POP-1-5
#> 104 POP4 IND103 POP-1-5
#> 105 POP4 IND104 POP-1-5
#> 106 POP4 IND105 POP-1-5
#> 107 POP4 IND106 POP-1-5
#> 108 POP4 IND107 POP-1-5
#> 109 POP4 IND108 POP-1-5
#> 110 POP4 IND109 POP-1-5
#> 111 POP4 IND110 POP-1-5
#> 112 POP4 IND111 POP-1-5
#> 113 POP5 IND112 POP-1-5
#> 114 POP5 IND113 POP-1-5
#> 115 POP5 IND114 POP-1-5
#> 116 POP5 IND115 POP-1-5
#> 117 POP5 IND116 POP-1-5
#> 118 POP5 IND117 POP-1-5
#> 119 POP5 IND118 POP-1-5
#> 120 POP5 IND119 POP-1-5
#> 121 POP5 IND120 POP-1-5
#> 122 POP5 IND121 POP-1-5
#> 123 POP5 IND122 POP-1-5
#> 124 POP5 IND123 POP-1-5
#> 125 POP5 IND124 POP-1-5
#> 126 POP5 IND125 POP-1-5
#> 127 POP5 IND126 POP-1-5
#> 128 POP5 IND127 POP-1-5
#> 129 POP5 IND128 POP-1-5
#> 130 POP5 IND129 POP-1-5
#> 131 POP5 IND130 POP-1-5
#> 132 POP5 IND131 POP-1-5
#> 133 POP5 IND132 POP-1-5
#> 134 POP5 IND133 POP-1-5
#> 135 POP5 IND134 POP-1-5
#> 136 POP5 IND135 POP-1-5
#> 137 POP5 IND136 POP-1-5
#> 138 POP5 IND137 POP-1-5
#> 139 POP5 IND138 POP-1-5
#> 140 POP5 IND139 POP-1-5
#> 141 POP5 IND140 POP-1-5
#> 142 POP5 IND141 POP-1-5
#> 143 POP5 IND142 POP-1-5
infos <- snp_getSampleInfos(test, files, header = FALSE)
rle(infos[[1]])
#> Run Length Encoding
#>   lengths: int [1:3] 143 167 207
#>   values : chr [1:3] "POP-1-5" "POP-6-11" "POP-12-19"