[英]Convert the integer numeric numbers into percentages
在輸入數據結構中
data.frame(stockname = c("google", "amazon"), open= c(30, 40), close = c(32, 48))
如何使用數據框所有行的總和來計算百分比,如何將每行中存在的整數轉換為相應的百分比。
輸入數據的所有行的總和為 150,因此百分比示例 output 數據幀為
data.frame(stockname = c("google", "amazon"), open= c(20%, 26.7%), close = c(21.3%, 32%))
也許這就是你所追求的
df[-1] <- df[-1] / sum(df[-1])
這使
> df
stockname open close
1 google 0.2000000 0.2133333
2 amazon 0.2666667 0.3200000
這可以使用prop.table
來完成:
df[-1] <- prop.table(df[-1])
df
# stockname open close
# 1 google 0.2000000 0.2133333
# 2 amazon 0.2666667 0.3200000
如果您也對格式化 output 感興趣,請查看sprintf
。 再次從源數據開始,嘗試:
df[-1] <- sprintf("%.1f%%", unlist(prop.table(df[-1])) * 100)
df
# stockname open close
# 1 google 20.0% 21.3%
# 2 amazon 26.7% 32.0%
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.