1
이것은 내 입력입니다.R - 한 번에 묶고 합계합니다.
df <- data.frame(n1 = c("A1", "A1", "A1", "A1", "A1", "A1", "A1"),
n2 = c("B", "B", "B", "B", "C", "C", "C"),
n3 = c("D", "D", "E", "E", "F", "G", "H"),
n4 = c("I", "J", "K", "L", "M", "N", "O"),
n5 = c(1:7),
n6 = c(1:7),
n7 = c(1:7))
library(dplyr)
df <- split(df, df$n3)
df <- lapply(df, function(x) {
out <- x %>%
group_by() %>%
summarise(n1 = "",
n2 = "",
n3 = paste0(unique(n3), " Total"),
n4 = "",
n5 = sum(n5, na.rm = T),
n6 = sum(n6, na.rm = T),
n7 = sum(n7, na.rm = T)) %>%
ungroup()
bind_rows(x, out)
})
df <- do.call("rbind", df)
나는이 그림을이 그림과 같이 만들고 싶습니다. 그러나 코드를 사용하면 각 열의 그룹을 합계하고 합계합니다.
?
오, 훌륭합니다. 하지만 B Total, C Total 및 A1 Total을 한 번에 만들 수 있습니까? 시도했지만 그 output_picture처럼 정렬하지 않습니다. –
내 업데이트 된 게시물을 참조하십시오. 'df6'은 최종 출력입니다. – www
니스. 하지만 당신은 열 'n3'에서 그룹을 잃었습니다. 이 경우 함수 및 for 루프를 어떻게 만들 수 있습니까? 나는 창조하는데 많은 시간을 낭비하지만 그것은 달릴 수 없다. 나는 내 지식이 그렇게 나쁘다고 생각한다. –