mam ramki danych:Oblicz wierszami proporcje
x <- data.frame(id = letters[1:3], val0 = 1:3, val1 = 4:6, val2 = 7:9)
# id val0 val1 val2
# 1 a 1 4 7
# 2 b 2 5 8
# 3 c 3 6 9
w obrębie każdego rzędu, że aby obliczyć odpowiednie proporcje (ratio) dla każdej z nich. Na przykład. dla wartości w kolumnie "val0", chcę obliczyć wartość w wierszu val0/(val0 + val1 + val2).
Pożądany wyjściowa:
id val0 val1 val2
1 a 0.083 0.33 0.583
2 b 0.133 0.33 0.533
3 c 0.167 0.33 0.5
Czy ktoś może mi powiedzieć, co jest najlepszym sposobem, aby to zrobić? Tutaj są tylko trzy kolumny, ale może być wiele kolumn.
+1 Bardzo ładne użycie 'prop.table' –
@Jilber, Dzięki. Właściwie to zainspirowało cię twoje rozwiązanie, ponieważ zawsze pamiętam opis 'prop.table', zaczynając od stwierdzenia, że jest to" zamiatanie "dla początkujących (którym jestem, wiecznie). – A5C1D2H2I1M1N2O1R2T1