有没有办法对列的特定行求和?
Is there a way to sum specific rows of a column?
A sample picture attached
The sample dataset file
我有一个数据集(请参阅附件),我希望根据特定条件对数字列 'tdiff' 求和,例如第 (1 + 2) 行,第 (3 + 4) 行,但 不是 行 (11,12,13,14)。
我试过这些但没有运气,
xx<- chaPe [rowSums(1:2, 3:4, 11, 12, 13, 14, 15:16),]
xx<- sum(chaPe $tdiff [c(1:2, 3:4, 11, 12, 13, 14, 15:16)],)
基本上,如果您查看'xsampa'列,只需将'tdiff'列中'p'和'A'的数值相加即可。
预期结果是,例如,第 (1 +2) 行,即 (0.068 + 0.011) = 0.079。
此外,总和如何影响其他列中的值,假设它们具有相同的值,除了 'rn' 列(这并不重要)。
我是 R 的新手,因此任何帮助都会很棒,因为我无法弄清楚这一点。谢谢
只要 'p'
出现,您就可以创建一个新组,这样前 2 行组成一个组,接下来的 2 行是另一个组,第 11:14
行保持原样。对于每个组,我们可以 sum
sum_tdiff
值。对于其他列,您可以决定要保留哪些值。例如,下面我保留 first
列 Filename
和 Place
的值。
library(dplyr)
chaPe %>%
group_by(grp = cumsum(xsampa == 'p')) %>%
summarise(sum_tdiff = sum(tdiff),
Filename = first(Filename),
Place = first(Place)) -> result
另一种方法是,将数据分组在 Filename
上,示例如下
library(dplyr)
result <- chaPe %>%
group_by(Filename) %>%
summarise(sum = sum(tdiff))
Filename sum
<chr> <dbl>
1 AK_chape.TextGrid 0.0800
2 DS_chape.TextGrid 0.0844
3 MS_chape.TextGrid 0.0834
4 NS_chape.TextGrid 0.0884
5 PS_chape.TextGrid 0.0838
6 RS_chape.TextGrid 0.0877
A sample picture attached The sample dataset file 我有一个数据集(请参阅附件),我希望根据特定条件对数字列 'tdiff' 求和,例如第 (1 + 2) 行,第 (3 + 4) 行,但 不是 行 (11,12,13,14)。 我试过这些但没有运气,
xx<- chaPe [rowSums(1:2, 3:4, 11, 12, 13, 14, 15:16),]
xx<- sum(chaPe $tdiff [c(1:2, 3:4, 11, 12, 13, 14, 15:16)],)
基本上,如果您查看'xsampa'列,只需将'tdiff'列中'p'和'A'的数值相加即可。
预期结果是,例如,第 (1 +2) 行,即 (0.068 + 0.011) = 0.079。 此外,总和如何影响其他列中的值,假设它们具有相同的值,除了 'rn' 列(这并不重要)。
我是 R 的新手,因此任何帮助都会很棒,因为我无法弄清楚这一点。谢谢
只要 'p'
出现,您就可以创建一个新组,这样前 2 行组成一个组,接下来的 2 行是另一个组,第 11:14
行保持原样。对于每个组,我们可以 sum
sum_tdiff
值。对于其他列,您可以决定要保留哪些值。例如,下面我保留 first
列 Filename
和 Place
的值。
library(dplyr)
chaPe %>%
group_by(grp = cumsum(xsampa == 'p')) %>%
summarise(sum_tdiff = sum(tdiff),
Filename = first(Filename),
Place = first(Place)) -> result
另一种方法是,将数据分组在 Filename
上,示例如下
library(dplyr)
result <- chaPe %>%
group_by(Filename) %>%
summarise(sum = sum(tdiff))
Filename sum
<chr> <dbl>
1 AK_chape.TextGrid 0.0800
2 DS_chape.TextGrid 0.0844
3 MS_chape.TextGrid 0.0834
4 NS_chape.TextGrid 0.0884
5 PS_chape.TextGrid 0.0838
6 RS_chape.TextGrid 0.0877