0
我想對每個觀測可以在多個組中的數據使用MATLAB組統計函數(如grpstats)。例如,比薩餅可以有{'意大利辣味香腸','蘑菇','洋蔥'}或{'意大利辣味香腸'}或其他任何東西,然後我希望團隊的統計數據通過打頂:所有比薩餅都帶有「意大利辣香腸」,所有比薩都帶有'蘑菇'等matlab:可以在多個組中進行觀察的分組變量
或者,如果你知道一種方法來做手工沒有迭代像一個白癡也是有益的。
我想對每個觀測可以在多個組中的數據使用MATLAB組統計函數(如grpstats)。例如,比薩餅可以有{'意大利辣味香腸','蘑菇','洋蔥'}或{'意大利辣味香腸'}或其他任何東西,然後我希望團隊的統計數據通過打頂:所有比薩餅都帶有「意大利辣香腸」,所有比薩都帶有'蘑菇'等matlab:可以在多個組中進行觀察的分組變量
或者,如果你知道一種方法來做手工沒有迭代像一個白癡也是有益的。
只需在不同的行中重複測量。例如:
store = repmat(cellstr(num2str((1:3)')), 3, 1);
type = repmat({'pepperoni', 'mushrooms', 'onions'}, 3, 1);
type = Type(:);
score = dataset({randn(9,3), 'taste', 'looks', 'price'});
data = [dataset(store, type) score];
grpstats(data(:,2:end), 'type')
原始數據:
>> data
data =
store type taste looks price
'1' 'pepperoni' -0.19224 -0.44463 -0.50782
'2' 'pepperoni' -0.27407 -0.15594 -0.32058
'3' 'pepperoni' 1.5301 0.27607 0.012469
'1' 'mushrooms' -0.24902 -0.26116 -3.0292
'2' 'mushrooms' -1.0642 0.44342 -0.45701
'3' 'mushrooms' 1.6035 0.39189 1.2424
'1' 'onions' 1.2347 -1.2507 -1.0667
'2' 'onions' -0.22963 -0.94796 0.93373
'3' 'onions' -1.5062 -0.74111 0.35032
組統計數據:
>> grpstats(data(:,2:end), 'type')
ans =
type GroupCount mean_taste mean_looks mean_price
pepperoni 'pepperoni' 3 0.35459 -0.10817 -0.27197
mushrooms 'mushrooms' 3 0.09674 0.19138 -0.74791
onions 'onions' 3 -0.16704 -0.97992 0.072449
感謝 - 這顯然作品。作爲一個通用的解決方案,對我來說這似乎並不理想,原因有兩個:如果你/不按組過濾,你必須記住要重複這個重複,如果觀察屬於這個重複,它會佔用很多內存很多團體。但它可能是最便宜的解決方案。 – Edward
@愛德華我同意,首先在表格中放置一個全新的行,看起來有點尷尬,在真實的數據庫中,您可以簡單地將標記添加到現有的觀察。但是,這是在大多數統計程序中構建數據的標準方法。關於它的一個好處是,它使得對數據進行復雜的邏輯子集化變得微不足道。例如,如果我們想爲每個'store'和pizza'type'的獨特組合構成一個直方圖矩陣?這個組織允許切片很容易完成。 –