How to conditionally merge multiple variables in a table
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi,
In the table t below I would like to merge the variables var_c, var_d and var_e into a single new variable called new_var. For a given row, the highest value of the 3 column should be kept. If 2 or 3 values are equal for a given row then it doesnt matter which one is kept. The desired output is desired_output. How would I do that ?
Thank you,
var_a = [1:10]';
var_b = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'k']';
var_c = [1, 2, 3, 4, NaN, NaN, 7, 80, 9, 10]';
var_d = [1, NaN, NaN, 4, NaN, NaN, 7, 8, 9, 90]';
var_e = [NaN, 2, NaN, 4, NaN, NaN, NaN, NaN, 9, 10]';
t = table(var_a, var_b, var_c, var_d, var_e)
new_var = [1, 2, 3, 4, NaN, NaN, 7, 80, 9, 90]';
desired_output = table(var_a, var_b, new_var)
댓글 수: 0
답변 (1개)
Star Strider
2021년 7월 21일
Concatenate them horizontally uising square brackets [], then assign the name to the new variable —
var_a = [1:10]';
var_b = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'k']';
var_c = [1, 2, 3, 4, NaN, NaN, 7, 80, 9, 10]';
var_d = [1, NaN, NaN, 4, NaN, NaN, 7, 8, 9, 90]';
var_e = [NaN, 2, NaN, 4, NaN, NaN, NaN, NaN, 9, 10]';
t = table(var_a, var_b, [var_c, var_d, var_e])
t.Properties.VariableNames{3} = 'new_var'
.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!