如何找到R数据帧中因子水平的累积和?
累积总和主要用于数据的描述性分析,但有时我们可能需要在理解移动总和的时间序列分析时对其进行计算,但这非常少见。如果我们在R数据框中有一个因子列,那么一起找到所有因子水平的累加总和就没有意义,我们必须找到每个水平的累加总和。使用ave函数可以很容易地做到这一点。
示例
请看以下数据帧-
set.seed(15)x1<-as.factor(sample(LETTERS[1:3],20,replace=TRUE))
x2<-rpois(20,5)
df1<-data.frame(x1,x2)
df1
输出结果
x1 x21 A 5
2 C 6
3 B 2
4 B 3
5 A 8
6 B 5
7 A 5
8 A 3
9 C 5
10 A 2
11 C 5
12 B 6
13 A 2
14 A 5
15 A 4
16 C 6
17 B 8
18 A 5
19 B 8
20 B 3
查找x1的不同值的x2值的累积和-
示例
df1$CumSum_x2_based_on_x1<-ave(x2,x1,FUN=cumsum)df1
输出结果
x1 x2 CumSum_x2_based_on_x11 A 5 5
2 C 6 6
3 B 2 2
4 B 3 5
5 A 8 13
6 B 5 10
7 A 5 18
8 A 3 21
9 C 5 11
10 A 2 23
11 C 5 16
12 B 6 16
13 A 2 25
14 A 5 30
15 A 4 34
16 C 6 22
17 B 8 24
18 A 5 39
19 B 8 32
20 B 3 35
让我们看另一个例子-
示例
Group<-sample(c("GRP1","GRP2","GRP3","GRP4"),20,replace=TRUE)Response<-sample(1:10,20,replace=TRUE)
df2<-data.frame(Group,Response)
df2
输出结果
Group Response1 GRP2 1
2 GRP3 1
3 GRP2 8
4 GRP2 1
5 GRP2 4
6 GRP1 7
7 GRP1 8
8 GRP1 2
9 GRP1 1
10 GRP1 1
11 GRP4 3
12 GRP3 9
13 GRP4 4
14 GRP1 9
15 GRP4 5
16 GRP2 8
17 GRP2 10
18 GRP3 5
19 GRP3 8
20 GRP3 8
查找不同组值的响应值的累积和
示例
df2$CumSum_of_GroupLevels<-ave(Response,Group,FUN=cumsum)df2
输出结果
Group Response CumSum_of_GroupLevels1 GRP2 1 1
2 GRP3 1 1
3 GRP2 8 9
4 GRP2 1 10
5 GRP2 4 14
6 GRP1 7 7
7 GRP1 8 15
8 GRP1 2 17
9 GRP1 1 18
10 GRP1 1 19
11 GRP4 3 3
12 GRP3 9 10
13 GRP4 4 7
14 GRP1 9 28
15 GRP4 5 12
16 GRP2 8 22
17 GRP2 10 32
18 GRP3 5 15
19 GRP3 8 23
20 GRP3 8 31
以上是 如何找到R数据帧中因子水平的累积和? 的全部内容, 来源链接: utcz.com/z/331118.html