Вычисление процентов в R с NA в том же столбце? - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть приведенный ниже фрейм данных, который содержит значение NA, я хотел бы создать новый столбец с именем Percentages, так что df $ процентные значения, чтобы он работал как процент от каждого числа в столбце значений, деленный на общую цифру

        Country Information Value percentage
1      UK        Cars    50       0.50
2      UK       Sheep    20       0.20
3      UK        Cats    15       0.15
4      UK        Dogs    10       0.10
5      UK       Shoes     5       0.05
6      UK        Hats     NA       NA (or 0 or NULL)
7   Total               100       1.00

Есть идеи, как создать этот процентный столбец?

Я пробовал разные вещи, но не нашел решения!

Любая помощь благодарна за!

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Основываясь на том, что было сказано в комментариях, я дам вам расширенное решение (мое было похоже на @Terru_theTerror).

  • Определите диапазон, который определяет итоговое значение, предполагая, что последняя строка является суммой или что сумма каждой строки , за исключением последней, дает сумму.
  • Разделите ваши значения на эту сумму.

Переведено в R, что дает.

total <- df$Value[nrow(df)] # or total <- sum(df$Value[1:(nrow(df)-1)], na.rm = T)
df$percentage <- df$Value/total
0 голосов
/ 26 апреля 2018

Попробуйте это решение:

    df$percentage<-c(df[1:nrow(df)-1,"Value"]/sum(df[1:nrow(df)-1,"Value"],na.rm = T),1)
df
  Country Value percentage
1      UK    50       0.50
2      UK    20       0.20
3      UK    15       0.15
4      UK    10       0.10
5      UK     5       0.05
6      UK    NA         NA
7   Total   100       1.00

Мой вклад:

    df<-data.frame(Country=c("UK","UK","UK","UK","UK","UK","Total"),Value=c(50,20,15,10,5,NA,100))

Примечание: обновлено с использованием информации в комментариях

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