假设我有一个数据集数组(来自统计工具箱):
>> myds
myds =
Observation SheepCount
1 88
2 2
3 14
4 12
5 40
我正在收集来自不同来源的数据,所以我想在所有这些观察中将“Location”设置为4,然后再将此数据集与其他数据集一起
vertcat
在标准矩阵中,你可以说myds(:, 3) = 4
,它将把4广播到矩阵中的所有空格中。有没有办法在数据集上不使用
repmat
?我试过的那些不管用的东西:
myds(:, 'Location') = 4
myds(:).Location = 4
myds.Location(:) = 4
myds.Location = 4
有用的东西:
myds.Location = 4; myds.Location(:) = 4; % have to run both
myds.Location = repmat(4, length(myds), 1);
那么,我必须克服我对
repmat
的厌恶吗谢谢。编辑:我想我真正想要的是避免指定4的数组的维数。
最佳答案
您可以尝试使用ones
而不是repmat
。
myds.Location=4*ones(1,5);
关于matlab - 将Matlab数据集数组中的变量设置为单个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5942093/