【发布时间】:2020-04-30 07:59:00
【问题描述】:
这是我拥有的数据框的示例:
Location <- c("a", "a", "a", "b", "b", "b", "b")
Code <- c("70", "70", "60", "60", "60", "60", "50")
df <- data.frame(Location, Code)
我想用这段代码对代码进行分组和总结:
df2 <- df %>%
dplyr::group_by(df$Code) %>%
dplyr::summarize(Number = n()) %>%
dplyr::mutate(Percent = round((Number/sum(Number)*100))) %>%
dplyr::arrange(desc(Number))
不过,我希望每个位置都有这个。并且难以添加一些;目前尚不清楚,如果事先有不同的位置。我们的目标是拥有一个自动功能,通过使用不同的数据框来为我提供每个位置的结果,其中不清楚哪些位置在其中。
我正在寻找的结果是 df2。 df2 虽然适用于所有位置。我想要一个数据框,其中代码按每个位置列出和汇总。因此位置“a”的代码为 70(2 次)和 60(1 次),位置“b”的代码为 60(3 次)和 50(1 次)。
我找不到解决方案(只有我一步一步做,我不想要)
提前致谢。
【问题讨论】:
-
不要在
dplyr代码中使用$。您正在寻找的预期输出是什么?你想像dplyr::group_by(Location, Code)一样在group_by中添加Location吗? -
感谢您的回复。我正在寻找的结果是 df2。 df2 虽然适用于所有位置。我想要一个数据框,其中代码按每个位置列出和汇总。因此位置“a”的代码为 70(2 次)和 60(1 次),位置“b”的代码为 60(3 次)和 50(1 次)。