web-dev-qa-db-ja.com

カウントのベクトルからパーセンテージを計算する方法

次のようなdata.frameがあります。

_> dat <- data.frame(Operation = c("Login", "Posted", "Deleted"), `Total Count` = c(5, 25, 40), check.names = FALSE)
> dat
  Operation Total Count
1     Login           5
2    Posted          25
3   Deleted          40
_

各操作のパーセンテージを計算したいです。たとえば、操作のパーセンテージはLoginでした。私は次のような結果を期待します:

_  Operation Total Count Percentage
1     Login           5 0.07142857
2    Posted          25 0.35714286
3   Deleted          40 0.57142857
_

カウントはすでに要約されているため、table()は機能しません。

_> table(dat$`Total Count`)

 5 25 40 
 1  1  1 
_
6
jaytika saharan

列をTotal.CountではなくTotal Countと呼びます。名前のスペースはうまく機能しません。

たとえば、my.dfというデータフレームにデータがある場合:

my.df$Pct <- my.df$Total.Count / sum(my.df$Total.Count)
my.df
##   Operation Total.Count        Pct
## 1     Login           5 0.07142857
## 2    Posted          25 0.35714286
## 3   Deleted          40 0.57142857
18
Peyton

関数prop.table()を使用してパーセンテージを計算できます(列名がTotalCountであると想定)。

df$percent<- prop.table(df$TotalCount)

df
  Operation TotalCount    percent
1     Login          5 0.07142857
2    Posted         25 0.35714286
3   Deleted         40 0.57142857
17
Didzis Elferts

dplyrを使用する場合:

dat %>% 
  mutate(Percent = TotalCount / sum(TotalCount))

列名をスペースなしでTotalCountに変更したことに注意してください。

5
DAVL