Cross product of two tables without common key

8 次查看(过去 30 天)
tables 1
Name
A
B
C
table2
Number Count
1 0
2 0
3 0
4 0
I want
Name Number Count
A 1 0
A 2 0
A 3 0
A 4 0
B 1 0
B 2 0
B 3 0
B 4 0
C 1 0
C 2 0
C 3 0
C 4 0
I tried outer join but since there is not key between the two tables that failed. Any help. Thank you.
  1 个评论
Star Strider
Star Strider 2022-5-22
This may not be at all relevant, however Three columns (x,y,z) in table, Loop through table for each X plot Y vs Z could tangetially be related to this post.
I have no idea if it is or what the desired results are.

请先登录,再进行评论。

采纳的回答

Voss
Voss 2022-5-21
编辑:Voss 2022-5-21
table1 = table(["A";"B";"C"],'VariableNames',{'Name'})
table1 = 3×1 table
Name ____ "A" "B" "C"
table2 = table([1;2;3;4],[0;0;0;0],'VariableNames',{'Number','Count'})
table2 = 4×2 table
Number Count ______ _____ 1 0 2 0 3 0 4 0
[ii,jj] = meshgrid(1:height(table1),1:height(table2))
ii = 4×3
1 2 3 1 2 3 1 2 3 1 2 3
jj = 4×3
1 1 1 2 2 2 3 3 3 4 4 4
new_table = [table1(ii,:) table2(jj,:)]
new_table = 12×3 table
Name Number Count ____ ______ _____ "A" 1 0 "A" 2 0 "A" 3 0 "A" 4 0 "B" 1 0 "B" 2 0 "B" 3 0 "B" 4 0 "C" 1 0 "C" 2 0 "C" 3 0 "C" 4 0
  2 个评论
Frederick Awuah-Gyasi
@_ Worked Perfectly. Thank you so much.
@Star Strider this helped me replace missing data points in out prevous discussion really appreciate all you help.
Thanks @dpb

请先登录,再进行评论。

更多回答(1 个)

dpb
dpb 2022-5-21
May be something more exotic, but I'd just build it from the pieces...
tT=[table(reshape(repmat(t1.Name,1,height(t2)).',[],1),'VariableNames',{'Name'}) repmat(t2,height(t1),1)]
tT =
12×3 table
Name Number Count
____ ______ _____
A 1 0
A 2 0
A 3 0
A 4 0
B 1 0
B 2 0
B 3 0
B 4 0
C 1 0
C 2 0
C 3 0
C 4 0
>>

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by