Iterating array of chars and saving to table or cell
8 次查看(过去 30 天)
显示 更早的评论
I want to make a loop that would allow me to iterate using this function
GeneontObj(temp(i,1)).terms.definition;
For example if I'll do
T = GeneontObj(temp(1,1)).terms.definition
I will receive
T = ""A multimeric enzyme complex, usually a dimer or an octamer,
that catalyzes the conversion of 2-phospho-D-glycerate to phosphoenolpyruvate and water."
[GOC:jl, ISBN:0198506732]"
My iterator has about 1500 records, and I would like to save an array like T above to a table, each row for each iteration.
With other data than char/strings I'd do something like:
result = zeros(length(temp), 1)
for i = 1:length(temp)
result(i) = GeneontObj(temp(i,1)).terms.definition;
end
but because it is char i have an error:
Unable to perform assignment because the left and right sides have a different number of elements.
It would be perfect, if there is a way to store this data in table, but cell array will also work.
0 个评论
采纳的回答
J. Alex Lee
2021-6-5
编辑:J. Alex Lee
2021-6-5
Try this, if your function actually returns strings as your output suggests (rather than a char array)
result = strings(length(temp), 1)
for i = 1:length(temp)
result(i) = GeneontObj(temp(i,1)).terms.definition;
end
But this is not a "table" in the sense of a matlab table data type...
2 个评论
J. Alex Lee
2021-6-5
Glad it helps. You shouldn't have to go through a cell array, you should be able to just do
studyResult = array2table(result)
更多回答(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!