/ / modifica il valore in percentuale della riga in R [duplicato] - r, percentuale

cambia valore in percentuale di riga in R [duplicato] - r, percentuale

questi sono i miei dati

  A B C
A 9 1 0
B 2 2 2
C 3 3 3

Voglio ottenere la percentuale di ogni riga

i miei dati sono attesi

     A    B    C
A  0.9  0.1    0
B 0.33 0.33 0.33
C 0.33 0.33 0.33

Ho creato i miei dati con "dcast" e c'è il nome della colonna su A, B e C. quindi in realtà sono i miei dati reali

  Name    A    B    C
1    A  0.9  0.1    0
2    B 0.33 0.33 0.33
3    C 0.33 0.33 0.33

risposte:

12 per risposta № 1

Sembra un caso equo

df/rowSums(df)
#           A         B         C
# A 0.9000000 0.1000000 0.0000000
# B 0.3333333 0.3333333 0.3333333
# C 0.3333333 0.3333333 0.3333333

Se non vuoi così tante cifre dopo il set di punti options(digits = 2) o usare print(df/rowSums(df), digits = 2) o usare round

round(df/rowSums(df), 2)
#      A    B    C
# A 0.90 0.10 0.00
# B 0.33 0.33 0.33
# C 0.33 0.33 0.33

O come suggerito da @akrun

round(prop.table(as.matrix(df1),1),2)