df$percentage <- df$Value/(sum(df$Value)/2)
#results
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 3 0.03
6 UK Hats 2 0.02
7 Total 100 1.00
Я разделил сумму на 2, потому что последняя строка уже содержит сумму столбца Значение
Изменить, чтобы обеспечить воспроизводимый пример:
structure(list(Country = c("UK", "UK", "UK", "UK", "UK", "UK",
"Total"), Information = c("Cars", "Sheep", "Cats", "Dogs", "Shoes",
"Hats", ""), Value = c(50, 20, 15, 10, 3, 2, 100)), .Names = c("Country",
"Information", "Value"), class = "data.frame", row.names = c(NA,
-7L))