Summarize three-way table

2 次查看(过去 30 天)
Hello,
I have a large dataset of patents by
year, region, type of patents, regional share.
2000 FR01 0 0.137
2000 FR01 1 0.135
2000 FR01 1 1
2000 FR02 0 0.144
2000 FR02 1 0.135
2000 FR02 1 1
2001 FR01 0 0.143
2001 FR01 1 0.135
2001 FR01 1 1
2001 FR02 0 0.155
2001 FR02 1 0.175
2001 FR02 1 1
.........................................................................................
I want to find the total of regional share for each region by year by type of patents.
I would appreciate if someone is able to help me.
Thank you.

采纳的回答

Chunru
Chunru 2021-6-30
编辑:Chunru 2021-6-30
It could be something like this:
% Assume table (T) with these variables: year, region, type_of_patents, regional_share
% Find the total of regional share for each region by year by type of patents.
u_type_of_patents = unique(T.type_of_patents)
u_year = unique(T.year)
u_region = unique(T.region)
u_year = unique(T.year)
for ip = 1:length(u_type_of_patents)
for iy = 1:length(u_year)
for ir = 1:length(u_region)
totalshare=(sum(T.regional_share(...
T.type_of_patents==u_type_of_patents(ip) & ...
T.year==u_year(iy) & ...
T.region==u_region(ir) )));
%fprintf(...)
end
end
end
  5 个评论
Lei Hou
Lei Hou 2021-7-1
Hi Saptorshee,
Try the following and see whether the performance is better.
>> rowfun(@sum,t,"InputVariables","regional share",'GroupingVariables',["year" "type of patents" "region"],"OutputVariableNames","total region share")
ans =
8×5 table
year type of patents region GroupCount total region share
____ _______________ ________ __________ __________________
2000 0 {'FR01'} 1 0.137
2000 0 {'FR02'} 1 0.144
2000 1 {'FR01'} 2 1.135
2000 1 {'FR02'} 2 1.135
2001 0 {'FR01'} 1 0.143
2001 0 {'FR02'} 1 0.155
2001 1 {'FR01'} 2 1.135
2001 1 {'FR02'} 2 1.175
Thanks,
Lei
Saptorshee Chakraborty
Hello Lei,
Thank you very very much indeed.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by