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的新手,因此我将无法解决任何帮助。谢谢。
答案 0 :(得分:0)
只要'p'
出现,您就可以创建一个新组,以便前2行构成一个组,然后再形成另外2组,并按原样11:14
行。对于每个组,我们可以sum
的{{1}}值。对于其他列,您可以决定要保留哪些值。例如,在下面,我保留列sum_tdiff
和first
的{{1}}值。
Filename
答案 1 :(得分:0)
另一种方法是将数据分组到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