如何将行添加到一行中?
How can I add rows into a single row?
我有一个问题:
# A tibble: 10 x 2
term sumsq
<chr> <dbl>
1 a1 10.1
2 a2 5.15
3 a3 45.1
4 a4 7.32
5 a1:a2 0.870
6 a1:a3 14.1
7 a1:a4 12.0
8 a2:a4 0.211
9 a2:a3 0.305
10 Residuals 4.88
如何添加第 5-9 行并将它们添加到新行中并删除原始行?
想要的输出?
term sumsq
<chr> <dbl>
1 a1 10.1
2 a2 5.15
3 a3 45.1
4 a4 7.32
5 Interactions 27.486
10 Residuals 4.88
注:0.870+14.1+12.0+0.211+0.305=27.486
尝试过
df %>%
slice(., 5:9)
我们可以将数据分成两部分,第 5 行和第 9 行以及所有其他部分。我们将第二部分的 sum
添加到第一部分。
library(dplyr)
df %>%
slice(-(5:9)) %>%
bind_rows(df %>%
slice(5:9) %>%
summarise(term = "Interaction",
sumsq = sum(sumsq)))
# term sumsq
#1 a1 10.100
#2 a2 5.150
#3 a3 45.100
#4 a4 7.320
#5 Residuals 4.880
#6 Interaction 27.486
与 Base R 相似
rbind(df[-c(5:9), ], data.frame(term = "Interaction", sumsq = sum(df$sumsq[5:9])))
我有一个问题:
# A tibble: 10 x 2
term sumsq
<chr> <dbl>
1 a1 10.1
2 a2 5.15
3 a3 45.1
4 a4 7.32
5 a1:a2 0.870
6 a1:a3 14.1
7 a1:a4 12.0
8 a2:a4 0.211
9 a2:a3 0.305
10 Residuals 4.88
如何添加第 5-9 行并将它们添加到新行中并删除原始行?
想要的输出?
term sumsq
<chr> <dbl>
1 a1 10.1
2 a2 5.15
3 a3 45.1
4 a4 7.32
5 Interactions 27.486
10 Residuals 4.88
注:0.870+14.1+12.0+0.211+0.305=27.486
尝试过
df %>%
slice(., 5:9)
我们可以将数据分成两部分,第 5 行和第 9 行以及所有其他部分。我们将第二部分的 sum
添加到第一部分。
library(dplyr)
df %>%
slice(-(5:9)) %>%
bind_rows(df %>%
slice(5:9) %>%
summarise(term = "Interaction",
sumsq = sum(sumsq)))
# term sumsq
#1 a1 10.100
#2 a2 5.150
#3 a3 45.100
#4 a4 7.320
#5 Residuals 4.880
#6 Interaction 27.486
与 Base R 相似
rbind(df[-c(5:9), ], data.frame(term = "Interaction", sumsq = sum(df$sumsq[5:9])))