的一列的顺序我有这样一个数据帧: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