-
Notifications
You must be signed in to change notification settings - Fork 0
/
dataManipulation.m
96 lines (67 loc) · 2.41 KB
/
dataManipulation.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
%% Load table from the knot
T = readtable("guestList.csv");
%% Create single name variable
name = cell(height(T),1);
for i = 1:height(T)
name{i} = T.FirstName{i} + " " + T.LastName{i};
end
T.name = name;
%% Party Identification
% Goal: identify each person's belonging to a party.
% TODO: check to ensure that each party is sensibly made.
partyDict = dictionary(string(unique(T.Party))', 1:length(unique(T.Party)));
partyNums = zeros(height(T),1);
for i = 1:height(T)
partyNums(i) = partyDict(T.Party(i));
end
T.partyNums = partyNums;
%% Family Identification
% Goal: identify each person's belonging to a family.
familyDict = dictionary(string(unique(T.Family))', 1:length(unique(T.Family)));
familyNums = zeros(height(T),1);
for i = 1:height(T)
familyNums(i) = familyDict(T.Family(i));
end
T.familyNums = familyNums;
%% Unit Identification
% Goal: identify each person's belonging to a unit.
unitDict = dictionary(string(unique(T.Unit))', 1:length(unique(T.Unit)));
unitNums = zeros(height(T),1);
for i = 1:height(T)
unitNums(i) = unitDict(T.Unit(i));
end
T.unitNums = unitNums;
%% Side Identification
% Goal: identify each person's belonging to a side of the aisle.
sideDict = dictionary(string(unique(T.Side))', 1:length(unique(T.Side)));
sideNums = zeros(height(T),1);
for i = 1:height(T)
sideNums(i) = sideDict(T.Side(i));
end
T.sideNums = sideNums;
%% Generation Identification
% Goal: identify each person's belonging to a generation.
genDict = dictionary(string(unique(T.Generation))', 1:length(unique(T.Generation)));
genNums = zeros(height(T),1);
for i = 1:height(T)
genNums(i) = genDict(T.Generation(i));
end
T.genNums = genNums;
%% Status Identification
% Goal: identify each person's belonging to a status group.
statusDict = dictionary(string(unique(T.Status))', 1:length(unique(T.Status)));
statusNums = zeros(height(T),1);
for i = 1:height(T)
statusNums(i) = statusDict(T.Status(i));
end
T.statusNums = statusNums;
%% Sibling Unit Identification
% Goal: identify each person's belonging to a sibling group.
sibsDict = dictionary(string(unique(T.SiblingGroup))', 1:length(unique(T.SiblingGroup)));
siblingNums = zeros(height(T),1);
for i = 1:height(T)
siblingNums(i) = sibsDict(T.SiblingGroup(i));
end
T.siblingNums = siblingNums;
%% Delete unused variables
T = removevars(T, ["Party","Family","Unit","Side","Generation","Status","State", "FirstName", "LastName", "SiblingGroup"]);