我有一个这样的数据框(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行是列名。
为了做sample(df1),我得到一个新的数据帧,其计数与df1相同,为1。因此,在整个数据帧中保留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,即不。每行中的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)的帮助,这是我先前对两列随机分配问题的回答。