在R中按年份和月份分组的数据透视表
假设您有一个包含6列或更多列的数据框 我想创建一个类似这样的透视表(这是用Excel制作的) 如您所见,ID是按年份和月份分类的,它们的“值”是总和 我想在R中创建类似的东西(实际上不需要总计)。我试过dplyr,tidyr,但我不能得到我想要的在R中按年份和月份分组的数据透视表,r,excel,pivot-table,R,Excel,Pivot Table,假设您有一个包含6列或更多列的数据框 我想创建一个类似这样的透视表(这是用Excel制作的) 如您所见,ID是按年份和月份分类的,它们的“值”是总和 我想在R中创建类似的东西(实际上不需要总计)。我试过dplyr,tidyr,但我不能得到我想要的 任何建议都是有用的可能的解决方案如下: library(dplyr) library(tidyr) # some test data I made up from you picture df <- dplyr::tibble(ID = c(
任何建议都是有用的可能的解决方案如下:
library(dplyr)
library(tidyr)
# some test data I made up from you picture
df <- dplyr::tibble(ID = c("AS", "AS", "AD", "AF"),
Year = c(2019, 2019, 2019, 2019),
Month = c(1, 1, 1, 12),
Value1 = c(50, 60, 20, 30),
Value2 = c(40, 50, 10, 10),
Value3 = c(10, 15, 50, 65))
# calculations
df %>%
tidyr::pivot_longer(-c(ID, Year, Month), names_to = "Value_Group", values_to = "Value") %>%
dplyr::group_by(ID, Year, Month, Value_Group) %>%
dplyr::summarise(Value = sum(Value)) %>%
tidyr::pivot_wider(names_from = c(Year, Month, Value_Group), values_from = Value, values_fill = 0)
ID `2019_1_Value1` `2019_1_Value2` `2019_1_Value3` `2019_12_Value1` `2019_12_Value2` `2019_12_Value3`
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 AD 20 10 50 0 0 0
2 AF 0 0 0 30 10 65
3 AS 110 90 25 0 0 0
库(dplyr)
图书馆(tidyr)
#我根据你的照片编造了一些测试数据
df%
tidyr::pivot_更长(-c(ID,年,月),名称_to=“Value\u Group”,值_to=“Value”)%>%
dplyr::分组依据(ID、年、月、值分组)%>%
dplyr::摘要(值=总和(值))%>%
tidyr::pivot\u加宽(名称\u from=c(年、月、值\u组),值\u from=Value,值\u fill=0)
ID`2019\u 1\u值1``2019\u 1\u值2``2019\u 1\u值3``2019\u 12\u值1``2019\u 12\u值2``2019\u 12\u值3`
公元20年10月50日
2 AF 0 0 30 10 65
3 AS 110 90 25 0 0 0
请使用dput
或我们可以复制和使用的东西添加数据。图像是没有帮助的。还显示共享数据的预期输出。阅读和。我试过和它的作品!!!谢谢