假设我有一个数据集数组(来自统计工具箱):

>> 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/

10-11 12:29