【发布时间】:2011-09-19 07:40:00
【问题描述】:
我有一个这样的数据框 (df1)。
f1 f2 f3 f4 f5
d1 1 0 1 1 1
d2 1 0 0 1 0
d3 0 0 0 1 1
d4 0 1 0 0 1
d1...d4 列是行名,f1...f5 行是列名。
为了做样本(df1),我得到一个与 df1 相同的计数为 1 的新数据帧。因此,1 的计数对于整个数据帧是保留的,但不是对于每一行或每一列。
是否可以按行或按列进行随机化?
我想为每列随机化 df1 列,即每列中 1 的数量保持不变。并且每列至少需要更改一次。例如,我可能有一个这样的随机 df2:(请注意,每列中 1 的计数保持不变,但每行中 1 的计数不同。
f1 f2 f3 f4 f5
d1 1 0 0 0 1
d2 0 1 0 1 1
d3 1 0 0 1 1
d4 0 0 1 1 0
同样,我还想为每一行随机化 df1 行,即 no。每行中的 1 保持不变,并且每一行都需要更改(但更改的条目数可能不同)。例如,随机 df3 可能是这样的:
f1 f2 f3 f4 f5
d1 0 1 1 1 1 <- two entries are different
d2 0 0 1 0 1 <- four entries are different
d3 1 0 0 0 1 <- two entries are different
d4 0 0 1 0 1 <- two entries are different
PS。非常感谢 Gavin Simpson、Joris Meys 和 Chase 对我之前关于随机两列的问题的回答。
【问题讨论】:
-
您是否要同时置换行 和 列。重读这篇文章,看起来列约束(每列中相同数量的 1)在您的第二个置换行示例中不成立。
-
请不要注册多个帐户。我已要求版主将您在此处使用的帐户与上一个 Q 中使用的帐户合并。
标签: r random permutation