How can I split an array into different arrays defined by an index?
4 次查看(过去 30 天)
显示 更早的评论
Hello all,
I have a large array of household income data and an index for the spatial unit the household is located in.
A= [AT1,24566;
AT1,40521;
AT2,32512;
BE1,66542;
.
.
.]
I would like to transform that array into arrays according to the spatial index so I can compute GINI coefficients in a next step.
Thank you Dragos
0 个评论
采纳的回答
Mohammad Abouali
2015-10-15
Is AT1 a variable storing a number? or did you mean
A={'AT1',24566;
'AT1',40521;
'AT2',32512;
'BE1',66542 ...}
if A is stored as above than to extract AT1 household incomes you could do:
AT1_HouseHoldIncome=cell2mat(A(strcmpi(A(:,1),'AT1'),2))
AT1_HouseHoldIncome =
24566
40521
2 个评论
Mohammad Abouali
2015-10-16
If A is matrix like:
A=[1,24566;
1,40521;
2,32512;
3,66542 ...]
then
AT1_HouseHoldIncome=A( A(:,1)==1 ,2);
so A(:,1)==1 pretty much masks all those rows in first column that are storing 1 and then A( A(:,1)==1, 2) returns the second column for those rows.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!