我有一個資料框報告每個問題的答案數量(這只是其中的一部分),我想獲得每個問題的答案百分比。我找到了 adorn_percentages,但它通過將整個資料框的值相除來計算百分比,同時,我只想要每列的百分比。每列共有 2230 個答案。我想使用類似 (x/2230)*100 的東西,但我不知道如何繼續。
df<-data.frame(q1=c(159,139,1048,571,93), q2=c(106,284,1043,672,125), q3=c(99,222,981,843,94))
q1 q2 q3
1 159 106 99
2 139 284 222
3 1048 1043 981
4 571 672 843
5 93 125 94
uj5u.com熱心網友回復:
我們可以colSums在使長度相同后進行除法
100 * df/colSums(df)[col(df)]
或使用 sweep
100 * sweep(df, 2, colSums(df), `/`)
或使用 proportions
df[paste0(names(df), "_prop")] <- 100 * proportions(as.matrix(df), 2)
-輸出
> df
q1 q2 q3 q1_prop q2_prop q3_prop
1 159 106 99 7.910448 4.753363 4.421617
2 139 284 222 6.915423 12.735426 9.915141
3 1048 1043 981 52.139303 46.771300 43.814203
4 571 672 843 28.407960 30.134529 37.650737
5 93 125 94 4.626866 5.605381 4.198303
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/338772.html
