Я пытаюсь вставить процент в каждую ячейку таблицы в R
. Это тот фрейм данных, с которым я работаю
1 a 1535 4 0 1539
2 b 768 6 0 774
3 c 112 1 0 113
4 d 279 4 0 283
5 e 231 5 0 236
. Этот код я использовал для его создания:
df <-structure(
list(
category = c(
"a",
"b",
"c",
"d",
"e"
),
group1 = c(1535,
768, 112, 279, 231),
group2 = c(4, 6, 1, 4, 5),
group3 = c(0,
0, 0, 0, 0),
groupall = c(1539, 774, 113, 283, 236)
),
class = c("grouped_df",
"tbl_df", "tbl", "data.frame"),
row.names = c(NA, 5L),
groups = structure(
list(
category = c(
"a",
"b",
"c",
"d",
"e"
),
.rows = list(1L,
2L, 3L, 4L, 5L)
),
row.names = c(NA,-5L),
class = c("tbl_df",
"tbl", "data.frame"),
.drop = FALSE
)
)
Я пробовал этот код:
findPerc<- function(x){
percent <- as.numeric(round((x/10000) * 100, digits = 2))
paste(percent, "%", sep = '')
}
, затем применяя его к кадру данных, используя
df <- apply(df,c(1,2),findPerc)
, но это возвращает ошибку: Ошибка в x / 10000: без нумерации c аргумент бинарного оператора
мой желаемый вывод выглядит так:
1 a 1535(15.35%) 4(0.04%) 0(0.00%) 1539(15.39%)
2 b 768 (7.65%) 6(0.06%) 0 (0.00%) 774(7.74%)
Может кто-нибудь помочь мне с тем, где я ошибся?