How to segregate data?

I have a dataset of people's (columns) residential history over time (rows, years).
  • numbers 1-3 mean the person lived in one of three sections of TownX,
  • numbers 4-7 mean the person lived in one of four sections of TownY,
  • numbers 8-9 mean the person lived in one of two sections of TownZ,
  • number 10 means the person lived in TownA
  • number 11 means the person wasn't born yet,
  • number 0 means the person lived outside of the three-town community.
I am trying to ID the people that:
  • only lived in TownX over time, so combinations of 11,1,2,3 = Xres
  • only lived in TownY over time, so combinations of 11,4,5,6,7 = Yres
  • only lived in TownZ over time, 11,8,9 = Zres
  • only lived in TownA over time, 11, and 10 = Ares
  • lived in any combination of the towns and/or lived outside the community, so mix of numbers 0-11 = Wander.
I have attached the data.
I think I can pull this together with a massive ifelse statement, but is there a more elegant way of going about this?
Many thanks for your time and thoughts!!

3 Comments

Perhaps it would be worthwhile to expand on what you want.
The file (as a table) is:
T1 = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/676098/Zone.xlsx')
T1 = 98×306 table
Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10 Var11 Var12 Var13 Var14 Var15 Var16 Var17 Var18 Var19 Var20 Var21 Var22 Var23 Var24 Var25 Var26 Var27 Var28 Var29 Var30 Var31 Var32 Var33 Var34 Var35 Var36 Var37 Var38 Var39 Var40 Var41 Var42 Var43 Var44 Var45 Var46 Var47 Var48 Var49 Var50 Var51 Var52 Var53 Var54 Var55 Var56 Var57 Var58 Var59 Var60 Var61 Var62 Var63 Var64 Var65 Var66 Var67 Var68 Var69 Var70 Var71 Var72 Var73 Var74 Var75 Var76 Var77 Var78 Var79 Var80 Var81 Var82 Var83 Var84 Var85 Var86 Var87 Var88 Var89 Var90 Var91 Var92 Var93 Var94 Var95 Var96 Var97 Var98 Var99 Var100 Var101 Var102 Var103 Var104 Var105 Var106 Var107 Var108 Var109 Var110 Var111 Var112 Var113 Var114 Var115 Var116 Var117 Var118 Var119 Var120 Var121 Var122 Var123 Var124 Var125 Var126 Var127 Var128 Var129 Var130 Var131 Var132 Var133 Var134 Var135 Var136 Var137 Var138 Var139 Var140 Var141 Var142 Var143 Var144 Var145 Var146 Var147 Var148 Var149 Var150 Var151 Var152 Var153 Var154 Var155 Var156 Var157 Var158 Var159 Var160 Var161 Var162 Var163 Var164 Var165 Var166 Var167 Var168 Var169 Var170 Var171 Var172 Var173 Var174 Var175 Var176 Var177 Var178 Var179 Var180 Var181 Var182 Var183 Var184 Var185 Var186 Var187 Var188 Var189 Var190 Var191 Var192 Var193 Var194 Var195 Var196 Var197 Var198 Var199 Var200 Var201 Var202 Var203 Var204 Var205 Var206 Var207 Var208 Var209 Var210 Var211 Var212 Var213 Var214 Var215 Var216 Var217 Var218 Var219 Var220 Var221 Var222 Var223 Var224 Var225 Var226 Var227 Var228 Var229 Var230 Var231 Var232 Var233 Var234 Var235 Var236 Var237 Var238 Var239 Var240 Var241 Var242 Var243 Var244 Var245 Var246 Var247 Var248 Var249 Var250 Var251 Var252 Var253 Var254 Var255 Var256 Var257 Var258 Var259 Var260 Var261 Var262 Var263 Var264 Var265 Var266 Var267 Var268 Var269 Var270 Var271 Var272 Var273 Var274 Var275 Var276 Var277 Var278 Var279 Var280 Var281 Var282 Var283 Var284 Var285 Var286 Var287 Var288 Var289 Var290 Var291 Var292 Var293 Var294 Var295 Var296 Var297 Var298 Var299 Var300 Var301 Var302 Var303 Var304 Var305 Var306 _______________________________________________________ ____ _____ _________ ____ ____ ____ ____ ____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ __________ {'Zone 3' } 3 25903 {'W1970'} 0 0 0 0 0 8 4 2 0 0 8 0 0 0 11 11 0 4 4 4 1 0 0 11 11 0 0 0 11 0 8 0 0 0 0 11 0 0 0 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 11 11 0 11 0 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 11 0 0 11 0 0 0 0 11 0 11 0 11 0 11 1 0 1 0 0 0 0 0 11 0 0 0 0 11 0 4 0 0 0 0 0 0 0 11 11 0 11 0 0 0 0 0 11 0 0 11 11 0 0 0 8 11 4 11 0 11 11 0 0 0 0 0 0 1 0 11 0 11 0 11 11 11 0 0 0 11 11 0 11 0 0 0 0 0 0 0 0 0 11 0 0 0 0 11 0 0 11 0 0 11 11 0 11 0 11 0 0 0 0 11 11 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'TownY' } NaN 25689 {'S1970'} 0 0 0 0 0 8 4 2 0 0 8 0 0 0 11 11 0 4 4 4 1 0 0 11 11 0 0 0 11 0 8 0 0 0 0 11 0 0 0 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 11 11 0 11 0 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 11 0 0 11 0 0 0 0 11 0 11 0 11 0 11 1 0 1 0 0 0 0 0 11 0 0 0 0 11 0 4 0 0 0 0 0 0 0 11 0 0 11 0 0 0 0 0 11 0 0 11 11 0 0 0 8 11 4 11 0 11 11 0 0 0 0 0 0 1 0 11 0 11 0 11 11 11 0 0 0 11 11 0 11 0 0 0 0 0 0 0 0 0 11 0 0 0 0 11 0 0 11 0 0 11 11 0 11 0 11 0 0 0 0 11 11 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'Zone 1' } 4 26268 {'W1971'} 0 0 0 0 0 8 4 2 0 0 8 0 0 1 11 11 0 4 4 4 1 0 0 11 11 0 0 0 11 0 8 0 0 0 0 11 0 0 0 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 0 0 0 5 4 0 0 11 0 0 11 11 0 11 0 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 11 0 0 11 0 0 0 0 11 0 11 0 11 0 11 1 0 1 0 0 0 0 0 11 0 0 0 0 11 0 4 0 0 0 0 0 0 0 11 0 0 11 0 0 0 0 0 11 0 0 11 11 0 0 0 8 11 4 11 0 11 11 0 0 0 0 0 0 1 0 11 0 11 0 11 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 11 0 0 11 11 0 11 0 11 0 0 0 0 11 11 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'Zone 2/3' } 5 26054 {'S1971'} 0 0 0 0 0 8 4 2 0 0 8 0 0 1 11 11 0 4 4 4 0 0 0 11 11 0 0 0 11 0 8 0 0 0 0 11 0 0 0 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 0 0 0 5 4 0 0 11 0 0 11 11 0 11 0 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 0 0 0 11 0 5 0 0 11 0 11 0 11 0 11 1 0 1 0 0 0 0 0 11 0 0 0 0 11 0 4 0 0 0 0 0 0 0 11 0 0 11 0 0 0 0 0 11 0 0 11 11 0 0 0 8 11 4 11 0 11 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 0 0 0 11 11 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'Zone 4' } 6 26634 {'W1972'} 0 0 0 0 0 8 6 2 0 0 8 0 0 1 11 11 0 4 4 4 0 0 0 11 11 0 0 0 11 0 8 0 0 0 0 11 0 0 0 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 0 0 0 5 4 0 0 11 0 0 11 11 0 11 0 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 0 0 0 11 0 5 0 0 11 0 11 0 11 0 11 1 0 1 0 0 0 0 0 11 0 0 0 0 11 0 4 0 0 0 0 0 0 0 11 0 0 11 0 0 0 0 0 11 0 0 11 11 0 0 0 8 11 4 11 0 11 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 0 0 0 11 11 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'Zone 5' } 7 26420 {'S1972'} 0 0 0 0 0 8 6 2 0 0 8 1 0 1 11 11 0 4 4 4 0 1 0 11 11 0 0 0 11 0 8 0 0 0 0 11 0 0 0 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 2 2 4 5 4 0 0 11 0 0 11 11 0 11 4 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 0 0 0 11 0 5 0 0 11 0 11 0 11 0 11 1 0 1 0 0 5 5 0 11 0 0 0 0 11 0 4 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 11 0 0 11 11 0 0 0 8 11 4 11 0 11 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 0 0 0 11 11 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'TownZ' } NaN 26999 {'W1973'} 0 0 0 0 0 8 6 2 0 0 8 1 0 1 11 11 0 4 4 4 0 1 0 11 11 0 0 0 11 0 8 0 0 0 0 11 0 0 0 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 2 2 4 5 4 0 0 11 0 0 11 11 0 11 4 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 0 0 0 11 0 5 0 0 11 0 11 0 11 0 11 1 0 1 0 0 5 5 0 11 0 0 0 0 11 0 4 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 11 0 0 11 11 0 0 0 8 11 4 11 0 11 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 0 0 0 11 11 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'Zone 1 (inter and Low)' } 8 26785 {'S1973'} 0 0 0 0 0 8 6 2 0 0 8 1 0 1 11 0 0 4 4 4 0 1 0 0 11 0 0 0 11 0 8 0 0 5 0 11 0 0 0 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 2 2 4 5 4 0 0 11 0 0 0 11 0 11 4 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 0 0 0 0 0 5 0 0 11 0 11 1 11 0 11 1 0 1 0 0 5 5 0 11 0 0 0 0 11 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 11 0 0 11 11 0 0 0 8 11 4 11 0 11 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 9 0 0 11 11 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'Zone 2 (Booster, High, Cumberland, Little Ranches)'} 9 27364 {'W1974'} 0 0 0 0 0 8 6 2 0 0 8 1 0 1 11 0 0 4 4 4 0 1 0 0 11 0 0 0 11 0 8 0 0 5 0 11 0 0 0 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 2 2 4 5 4 0 0 11 0 0 0 11 0 11 4 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 0 0 0 0 0 5 0 0 11 0 11 1 11 0 11 1 0 1 0 0 5 5 0 11 0 0 0 0 11 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 11 0 0 11 11 0 0 0 8 11 4 11 0 11 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 9 0 0 11 11 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'TownA' } 10 27150 {'S1974'} 0 0 0 0 0 8 6 2 0 0 8 1 0 1 11 0 0 4 4 4 0 1 0 0 11 0 0 0 11 0 8 0 0 5 0 11 0 0 2 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 2 2 4 5 4 4 1 11 0 0 0 11 0 11 4 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 0 0 0 0 0 5 0 0 11 0 11 1 11 0 11 1 0 1 0 0 5 5 0 11 0 0 0 5 11 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 0 0 0 11 11 0 0 0 0 11 4 11 0 0 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 9 0 0 11 0 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'NONresident' } 0 27729 {'W1975'} 0 0 0 0 0 8 6 2 0 0 8 1 0 1 11 0 0 4 4 4 0 1 0 0 11 0 0 0 8 0 8 0 0 5 0 11 0 0 2 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 2 2 4 5 4 4 1 11 0 0 0 11 0 11 4 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 11 0 0 0 0 0 0 0 0 0 5 0 0 11 0 11 1 11 0 11 1 0 1 0 0 5 5 0 11 0 0 0 5 11 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 0 0 0 11 11 0 0 0 0 11 4 11 0 0 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 9 0 0 11 0 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'Not yet born (11)' } 11 27515 {'S1975'} 0 0 0 0 4 8 6 2 0 0 8 1 0 1 0 0 0 4 4 4 0 1 0 0 11 0 0 0 8 0 8 0 0 5 5 11 0 0 2 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 2 2 4 5 4 4 1 11 0 0 0 11 0 11 4 0 0 0 0 11 0 0 0 0 0 0 0 0 0 9 11 0 0 0 0 0 0 0 0 0 1 0 0 11 0 11 1 11 0 11 1 0 0 0 0 0 5 0 11 0 0 0 5 11 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 0 0 0 11 11 0 0 0 0 11 4 11 0 0 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 9 0 0 11 0 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'Private well (12)' } NaN 28095 {'W1976'} 0 0 0 0 4 8 6 2 0 0 8 1 0 1 0 0 0 4 4 4 0 0 0 0 11 0 0 0 8 0 8 0 0 5 5 11 0 0 2 0 4 0 1 1 0 0 2 0 11 0 0 0 0 0 2 2 4 5 4 4 1 11 0 0 0 11 0 11 4 0 0 0 0 11 0 0 0 0 0 0 0 0 0 9 11 0 0 0 0 0 0 0 0 0 1 0 0 11 0 11 1 11 0 11 1 0 0 0 0 0 5 0 11 0 0 0 5 11 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 0 0 0 11 11 0 0 0 0 11 4 11 0 0 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 11 11 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 9 0 0 11 0 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char} {'Security Mobile Home Park…? (13)' } NaN 27881 {'S1976'} 0 0 0 0 4 8 6 2 0 0 8 1 0 1 0 0 0 4 4 4 0 0 0 0 11 0 0 0 8 0 8 0 0 5 5 11 0 0 2 0 4 0 1 1 0 5 2 0 11 0 9 0 0 0 2 2 4 5 4 0 1 11 0 0 0 11 0 11 4 0 0 0 0 11 0 0 0 0 0 0 0 5 5 9 11 0 0 0 0 0 0 0 0 0 1 0 0 11 4 11 1 11 0 11 1 0 0 0 0 0 5 0 11 0 0 0 5 11 2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 0 0 0 0 11 11 0 0 0 0 11 4 11 0 0 11 0 0 0 0 0 0 1 0 11 0 11 0 0 11 11 0 0 0 0 0 0 11 0 0 0 0 4 0 0 0 0 11 0 0 0 0 11 0 0 0 0 0 0 11 0 11 0 11 0 9 0 0 11 0 0 11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN {0×0 char}
What do you want to do with it? What columns are important?
.
Data in the cells E5-HC102 are what's pertinent. Columns E-HC represents the people in the study and rows 5-102 are increments of time (years).
As an end result, I'd like each column (person) to be IDed as Xres, Yres, Zres, Ares or Wander.
This is my stab at the above problem (beyond the ifelse boondogle)
%the 1 in the below lines tells matlab to do the ANY seach by column
Xres = any(Zone<4,1) & any(Zone>0,1) | any(Zone==11,1); %lived in zones 1,2,3 or wasn't born yet (11)
Yres = any(Zone>3,1) & any(Zone<8,1) | any(Zone==11,1); %lived in zones 4,5,6,7 or wasn't born yet (11)
Zres = any(Zone>7,1) & any(Zone<10,1) | any(Zone==11,1); %lived in zones 8,9 or wasn't born yet (11)
Ares = any(Zone=10,1) | any(Zone==11,1); %lived in zones 10 or wasn't born yet (11)
Wander = ....no clue how to ID all the people who did not fall into one of the above 4 catagories.

Sign in to comment.

Answers (1)

dpb
dpb on 6 Jul 2021
Something similar to that looks to me to be about the best can be done -- I'd probably write some helper functions similar to
isX=@(x)all(iswithin(x,1,3)|x==11);
isY=@(x)all(iswithin(x,4,7)|x==11);
etc., where the utility of the helper function iswithin is apparent in making the conditional more readable at the higher level. It's just the logical expression moved to cleaner syntax by hiding the combinational logic
function flg=iswithin(x,lo,hi)
% returns T for values within range of input
% SYNTAX:
% [log] = iswithin(x,lo,hi)
% returns T for x between lo and hi values, inclusive
flg= (x>=lo) & (x<=hi);
>>
As for the Wanderer, once you have everybody else classified, it's just whoever is left over --
isW=~(isX|ixY|ixZ|isA);
You can, of course, add another category that is easy which would be the permanent Outside resident which would be
isO=@(x)all(x==0);
if that might also be of interest.
Then, of course, a Wanderer would be those who did live in more than one location in the identified townships.
There's somewhat of a discrepancy, though, as you have the definition of
  • number 0 means the person lived outside of the three-town community.
but there are four identified communities altogether. So, could a "0" be the same individual also coded as a "10", or are they known to be exclusive?
There's a bunch of data in the file that are NaN or the last column imports a char() so can't test all the data -- I cut it down to
tZone=tZone(:,5:end-1); % save only the coded columns and not last char()
tZone=tZone(:,(all(isfinite(tZone{:,:})))); % get rid of everything NaN
leaves with
>> whos tZone
Name Size Bytes Class Attributes
tZone 98x207 208396 table
Applying the above for X resulted in
>> idX=varfun(isX,tZone);
>> any(idX{:,:})
ans =
logical
1
>> sum(idX{:,:})
ans =
3
>> find(idX{:,:})
ans =
43 44 105
>>
Hope that helps...
OH! One thing else one could do would be to create a categorical array and add names for identification to the codes or, I used a lookup table --
Code=0:11;
Area=[1,2*ones(1,3),3*ones(1,4),4*ones(1,2),5,6];
Town=["Wanderer","TownX","TownY","TownZ","TownA","Unborn"];
can be used like
>> id=interp1(Code,Area,randi([0 11],10,1));
>> Town(id)
ans =
1×10 string array
"TownX" "TownY" "Unborn" "TownX" "TownY" "TownY" "TownX" "TownX" "TownA" "TownY"
>>
to identify individual elements in legible manner. As noted, a categorical array could do the same if ordinal and define the display names to go with the values.

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Release

R2021a

Asked:

on 6 Jul 2021

Answered:

dpb
on 6 Jul 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!