Eu tenho um dataframe (df1) como este.
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
A coluna d1 ... d4 é o nome da linha, a linha f1 ... f5 é o nome da coluna.
Para fazer o sample (df1), obtenho um novo dataframe com contagem de 1 igual a df1. Portanto, a contagem de 1 é conservada para todo o dataframe, mas não para cada linha ou coluna.
É possível fazer a randomização por linha ou por coluna?
Quero randomizar o df1 por coluna para cada coluna, ou seja, o número 1 em cada coluna permanece o mesmo. e cada coluna precisa ser alterada pelo menos uma vez. Por exemplo, posso ter um df2 aleatório como este: (Observe que a contagem de 1 em cada coluna permanece a mesma, mas a contagem de 1 em cada linha é diferente.
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
Da mesma forma, também quero randomizar o df1 por linha para cada linha, ou seja, o não. de 1 em cada linha permanece o mesmo e cada linha precisa ser alterada (mas o número de entradas alteradas pode ser diferente). Por exemplo, um df3 aleatório poderia ser algo assim:
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. Muito obrigado pela ajuda de Gavin Simpson, Joris Meys e Chase pelas respostas anteriores à minha pergunta anterior sobre a randomização de duas colunas.