How to add one more column in dataset

Hello,
I have a topographic data for three locations in a dataset called all_topo_data(46 by 8). I want to add another column(annual evaporation) into the dataset from a 3 dataset called annual_evaporation_kl, annual_evaporation_manila and annual_evaporation_bangkok which all the dataset contains only 1 by 1 matrix. I wanted to add the data according to variable called location in the all_topo_data dataset.
So..There will be a new column in all_topo_data called annual evaporation which will contains annual evaporation value according to locations.
Thank you

 采纳的回答

I might not have understood your question, so please let me know if this does not answer it.
Suppose that you have a dataset A of size m x n and between the column 0<i<n and the following column you want to insert a column j from another dataset B. To do that, you just need to do the following
Anew = [ A(:,1:i) B(:,j) A(:,i+1:n)];
Does this solve your problem?
Best regards

4 个评论

Thank you for your time Hugo,
But what I meant was to create a new column in a dataset and fill it with a values from other 3 datasets.
As an example,
I have a datasets called X that has 3 variables (A, B, C). I have one more dataset called Y that has 2 variables( D,E)
I want to create another column in dataset X and fill it with D and E according to values of A ( A is a categorical data). I hope you understand what I meant.
thanks, Reytech
To add another column in X, you can just do
X=[X; zeros(size(X,1),1)];
Now, to fill the new column, if the data is in three different variables, as I interpret from your original message, you can do:
for ind=1:size(X,1) eval(['X(ind,4)=annual_evaporation_' X(ind,1) ';']); end
Assuming that X(:,1) contains text labels
Or
for ind=1:ind=1:size(X,1) X(ind,4)=Y(X(ind,1)); end
Assuming that X(:,1) contains numbers identifying each city, and Y has the values corresponding to each city.
Does this help?
Thank you, although it does not solve my problem directly. You answer gave me an idea to solve it. Appreciate very much..
Hi Hugo, i tried X=[X; zeros(size(X,1),1)]; and i got the following error Error using dataset/vertcat (line 31) All input arguments must be datasets. Any insight on that? Thank You

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Workspace Variables and MAT Files 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by