我的栏目如下
EndoID NumBx CStage
1 2 1
1 8 1
1 3 1
2 1 4
3 2 10
3 1 10
4 3 3
每个EndoId的Cstage都是相同的
我想得到每个EndoId的NumBx总和,但我也希望在结果中看到CStage。到目前为止,我无法看到C阶段
这是我的代码
GroupedByEndo <- PragueSubset %>% group_by(EndoID) %>% summarise(Sum = sum(NumBx))
我喜欢的输出是:
EndoID NumBx CStage
1 13 1
2 1 4
3 3 10
4 3 3
但我得到了
EndoID NumBx
1 13
2 1
3 3
4 3
答案 0 :(得分:2)
您可以找到SCstage的mean
或first
PragueSubset <- read.table(header = TRUE, text =
"EndoID NumBx CStage
1 2 1
1 8 1
1 3 1
2 1 4
3 2 10
3 1 10
4 3 3")
GroupedByEndo <- PragueSubset %>%
group_by(EndoID) %>%
summarise(Sum = sum(NumBx), CStage = first(CStage))
GroupedByEndo
Source: local data frame [4 x 3]
EndoID Sum CStage
(int) (int) (int)
1 1 13 1
2 2 1 4
3 3 3 10
4 4 3 3
答案 1 :(得分:1)
这是一个有点hacky解决方案,但它完成了这项工作。
df %>% group_by(EndoID) %>%
mutate(NumBoxS = sum(NumBx), Cstage2 = mean((CStage))) %>%
summarise_each(funs = "mean") %>% select(-c(NumBx, Stage))
Source: local data frame [4 x 3]
EndoID NumBoxS Cstage2
(int) (dbl) (dbl)
1 1 13 1
2 2 1 4
3 3 3 10
4 4 3 3
答案 2 :(得分:1)
你可以得到你要求的结果:
{{1}}