How to do a cross-multiplication by group in a table
Hi. I am wondering how to do a cross-multiplication (rule of three) by group in a table. More specifically I have an initial table in which I want to fill the NaNs by doing a cross-multiplication between c and d. For example the first NaN is (10*40) / 1 == 400. This need to be applied for unique combinations of a and b.
% Initial table
a = [1, 1, 1, 1, 1, 1, 2, 2]’;
b = [45,45,12, 17, 56, 56, 45, 45]’;
c = [1, 10, 3, 9, 2, 10, 1, 10]’;
d = [40, NaN, 1, 9, 20, NaN, 40, NaN]’;
t = table(a, b, c, d)
% Desired end result
e = [1, 1, 1, 1, 1, 1, 2, 2]’;
f = [45,45,12, 17, 56, 56, 45, 45]’;
g = [1, 10, 3, 9, 2, 10, 1, 10]’;
h = [40, 400, 1, 9, 20, 100, 40, 400]’;
result = table(e, f, g, h)Hi. I am wondering how to do a cross-multiplication (rule of three) by group in a table. More specifically I have an initial table in which I want to fill the NaNs by doing a cross-multiplication between c and d. For example the first NaN is (10*40) / 1 == 400. This need to be applied for unique combinations of a and b.
% Initial table
a = [1, 1, 1, 1, 1, 1, 2, 2]’;
b = [45,45,12, 17, 56, 56, 45, 45]’;
c = [1, 10, 3, 9, 2, 10, 1, 10]’;
d = [40, NaN, 1, 9, 20, NaN, 40, NaN]’;
t = table(a, b, c, d)
% Desired end result
e = [1, 1, 1, 1, 1, 1, 2, 2]’;
f = [45,45,12, 17, 56, 56, 45, 45]’;
g = [1, 10, 3, 9, 2, 10, 1, 10]’;
h = [40, 400, 1, 9, 20, 100, 40, 400]’;
result = table(e, f, g, h) Hi. I am wondering how to do a cross-multiplication (rule of three) by group in a table. More specifically I have an initial table in which I want to fill the NaNs by doing a cross-multiplication between c and d. For example the first NaN is (10*40) / 1 == 400. This need to be applied for unique combinations of a and b.
% Initial table
a = [1, 1, 1, 1, 1, 1, 2, 2]’;
b = [45,45,12, 17, 56, 56, 45, 45]’;
c = [1, 10, 3, 9, 2, 10, 1, 10]’;
d = [40, NaN, 1, 9, 20, NaN, 40, NaN]’;
t = table(a, b, c, d)
% Desired end result
e = [1, 1, 1, 1, 1, 1, 2, 2]’;
f = [45,45,12, 17, 56, 56, 45, 45]’;
g = [1, 10, 3, 9, 2, 10, 1, 10]’;
h = [40, 400, 1, 9, 20, 100, 40, 400]’;
result = table(e, f, g, h) arithmetic MATLAB Answers — New Questions