【发布时间】:2023-03-06 13:31:01
【问题描述】:
我正在努力学习dplyr,但对于 Stackoverflow 或文档中相对简单的问题,我找不到答案。我想我会在这里问。
我有一个如下所示的 data.frame:
set.seed(1)
dat<-data.frame(rnorm(10,20,20),rep(seq(5),2),rep(c("a","b"),5))
names(dat)<-c("number","factor_1","factor_2")
dat<-dat[order(dat$factor_1,dat$factor_2),]
dat<-dat[c(-3,-7),]
number factor_1 factor_2
1 7.470924 1 a
6 3.590632 1 b
2 23.672866 2 b
3 3.287428 3 a
8 34.766494 3 b
4 51.905616 4 b
5 26.590155 5 a
10 13.892232 5 b
我想使用dplyr 从因子一的每个级别内的factor_2=="a" 中减去与factor_2=="b" 关联的值number 列。
生成的 data.frame 的第一行如下所示:
diff factor_1
1 3.880291 1
需要注意的是,factor_2 的每个级别并不总是在 factor_1 的每个级别中都有值。如果是这种情况,我想将0 分配给与缺失因子水平相关的number。
感谢您的帮助。
【问题讨论】: