Извлечение частот в процентах - PullRequest
0 голосов
/ 10 февраля 2020

Вот некоторые данные с объемом в числовых числах

data.frame(class = ("a","b","a","b"), date = c(2009,2009,2010,2010), volume=c(1,1,2,0))

Как можно преобразовать столбец объема в проценты для того же года (даты) разных меток?

data.frame(class = ("a","b","a","b"), date = c(2009,2009,2010,2010), volumepercentage=c("50.00%","50.00%","100.00%","9.00%"))

1 Ответ

1 голос
/ 10 февраля 2020

Вот базовый подход R:

df1.spl <- split(df1, df1$date)
df1.lst <- lapply(df1.spl, function(x) data.frame(x, pct=prop.table(x$volume)*100))
df2 <- do.call(rbind, df1.lst)
df2
#        class date volume pct
# 2009.1     a 2009      1  50
# 2009.2     b 2009      1  50
# 2010.3     a 2010      2 100
# 2010.4     b 2010      0   0

Обратите внимание на изменение в именах строк. Команда rownames(df2) <- NULL удалит их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...