我想複製數據集中的行,具體取決於原始數據集中主題所具有的行數。根據SAS或R中的條件創建重複行
id x1 x2 x3 count
1 a b c 1
1 b c f 2
2 g h a 1
2 a d c 2
2 f g a 3
3 a g a 1
我已創建此計數變量來檢測每個主題所具有的行數。 (不要介意x1 - x3的值,它們只是爲了說明)。我在實際數據集中的主題也比這三個更多。
數據集,我想要的應該是這樣的。
id x1 x2 x3 count
1 a b c 1
1 b c f 2
1 a b c 1
1 b c f 2
2 g h a 1
2 a d c 2
2 f g a 3
2 g h a 1
2 a d c 2
2 f g a 3
3 a g a 1
我曾嘗試下面的代碼
data want (drop=i);
set have;
by id;
output;
do i = 1 to count;
output;
end;
run;
但很明顯,這讓太多的副本..
任何幫助與R或SAS是高度讚賞!
邏輯不清楚 – akrun
應該不是'id = 2'出現3次? (即總共9個)。如果是這樣,試試這個:'df [rep(rownames(df),with(df,ave(id,id,FUN = length))),]' – Sotos
嗯,所以如果在原始數據集中,那麼我想創建一個新的數據,其中存在這兩行加兩個額外的行,從原始數據複製。如果主題的行數爲3,那麼相同,那麼我想在數據集中創建三個額外的行,因此該主題的行數是六個。 – Laura