2014-04-01 14 views
1

內的列我有一個大的數據集是這樣的:爲了每組

df <- data.frame(group = c(rep(1, 3), rep(5, 3)), member = c(30, 10, 22, 21, 44, 15)) 

group member 
1  30 
1  10 
1  22 
5  21 
5  44 
5  15 

...

我想每個組內訂購會員。預期的輸出應該是這樣的:

group member 
1  10 
1  22 
1  30 
5  15 
5  21 
5  44 

...

沒有人有實現這一想法?

+0

多大實際數據集? – Arun

回答

0

嘗試使用ddply從plyr包

> library(plyr) 
> ddply(df, .(group), mutate, member=sort(member)) 
    group member 
1  1  10 
2  1  22 
3  1  30 
4  5  15 
5  5  21 
6  5  44 
1

您可以使用「與」功能:第一個參數是你的數據框和第二個是你想要什麼,用它做:由變量「組」命令即可由變量「成員」。

df[with(df,order(group,member)),] 
+1

請解釋如何解決這個問題;這將有助於未來的讀者理解你的推理。 –

+0

即使你的答案是正確的,任何的解釋,答案是低質量的,因爲它可能不是和你有類似,但是,稍微不同的問題非常有用的。感謝您的額外努力。 –