的一列的順序我有這樣一個數據幀:R:隨機化data.frame
df1 <- data.frame(A=c("xx", "be", "zz", "jj"), B=c("xyx", "bea", "cce", "ggg"), C=c("ges", "xyz", "cce", "edga"))
我想根據DF1產生兩個隨機數據幀。對於每個隨機數據幀,我預計列A和列B保持不變。但是隻有列C的順序可以改變。
我可以用R來做嗎?如果是的話,你能教我怎麼做嗎?
非常感謝。
的一列的順序我有這樣一個數據幀:R:隨機化data.frame
df1 <- data.frame(A=c("xx", "be", "zz", "jj"), B=c("xyx", "bea", "cce", "ggg"), C=c("ges", "xyz", "cce", "edga"))
我想根據DF1產生兩個隨機數據幀。對於每個隨機數據幀,我預計列A和列B保持不變。但是隻有列C的順序可以改變。
我可以用R來做嗎?如果是的話,你能教我怎麼做嗎?
非常感謝。
你可以這樣做:
data.frame(A=df1$A, B=df1$B, C=sample(df1$C))
因此,創建一個新的數據幀,其中A和B是舊數據幀的A和B和C是使用舊數據幀的C柱隨機排列sample
命令。當然,你可以爲這個新的數據框分配一個變量,比如df2和df3。
在創建基於現有數據框的新數據框時,R中的通常範例是使用transform
。在你的情況下,你可以簡單地做:
df2 <- transform(df1, C = sample(C))
非常優雅!不知道變換。值得讚揚:) – 2011-05-31 13:17:39
太棒了!愛它! – jkenney9 2016-12-07 16:00:52
'sample(df1 $ C)'也可以。 – Marek 2011-05-31 08:41:51