R为每个参与者的每个条件选择n行
我有关于多个单一研究的数据框架。对三名参与者进行行为干预(ID_AB2),并收集基线和干预条件的数据(第二阶段:A=基线;B=干预)。最后,“occasions”是一个包含会话数的变量 我试图做的是编写一个代码,获取每个参与者每个阶段的最后三个值,然后计算平均值R为每个参与者的每个条件选择n行,r,filter,dplyr,R,Filter,Dplyr,我有关于多个单一研究的数据框架。对三名参与者进行行为干预(ID_AB2),并收集基线和干预条件的数据(第二阶段:A=基线;B=干预)。最后,“occasions”是一个包含会话数的变量 我试图做的是编写一个代码,获取每个参与者每个阶段的最后三个值,然后计算平均值 RateAB2 <- c(8, 4, 5, 5, 5, 4, 8, 7, 8, 5, 4, 8, 7, 4, 7, 7, 4, 3, 4, 4, 4, 5, 9, 6, 16, 13, 8, 9, 15, 17, 9, 10,
RateAB2 <- c(8, 4, 5, 5, 5, 4, 8, 7, 8, 5, 4, 8, 7, 4, 7, 7, 4, 3, 4, 4, 4, 5, 9, 6, 16, 13, 8, 9, 15, 17, 9, 10, 7, 3, 2, 4, 3, 3, 3, 7, 13, 18, 12, 18, 14, 17, 19, 15) %>% as.numeric()
PhaseAB2 <- rep(c("A", "B"), each = 8, len = 48)
OccasionsAB2 <- rep(1:16, len = 48)
ID_AB2 <- rep(c("C1", "C2", "C3"), each = 16)
db5 <- data.frame(ID_AB2, OccasionsAB2, PhaseAB2, RateAB2)
RateAB2%as.numeric()
第二阶段<代码>库(dplyr)
税率为2%
as.numeric()
阶段2%#获得平均值
取消分组()#忘记分组
##tibble:6 x 3
#ID_AB2相位2平均值
#
#1 C1 A 6.33
#2 C1 B 6
#3 C2 A 6.67
#4 C2 B 12
#5 C3 A 4.33
#6 C3 B 17
您可以将过去的摘要更新为
总结(平均值=平均值(比率AB2),
OccasionSequence=paste0(OccasionsAB2,collapse=“,”)
还可以获取每个案例中使用的场合的ID(作为字符串)。库(dplyr)
税率为2%
as.numeric()
阶段2%#获得平均值
取消分组()#忘记分组
##tibble:6 x 3
#ID_AB2相位2平均值
#
#1 C1 A 6.33
#2 C1 B 6
#3 C2 A 6.67
#4 C2 B 12
#5 C3 A 4.33
#6 C3 B 17
您可以将过去的摘要更新为
总结(平均值=平均值(比率AB2),
OccasionSequence=paste0(OccasionsAB2,collapse=“,”)
还可以获取每个案例中使用的场合的ID(作为字符串)。这正是我想要的。谢谢我只需要更改这部分,因为我需要每个条件的平均值:groupby(ID\u AB2,phasea2)不应该是top\n(-3…
?不,因为它是top,并且总是按降序工作。-3
将得到最小的数字。检查?top\n
在哪里“如果n为正,则选择前n行。如果为负,则选择下n行。”上面的top\u n()
相当于arrange(desc(OccasionsAB2))%%>%slice(1:3)
这正是我要找的。谢谢!我只需要更改这部分,因为我需要每个条件的平均值:groupby(ID\u AB2,phasea2)它不应该是top\n(-3…
?不,因为它是top,并且总是按降序工作。-3
将得到最小的数字。检查?top\n
其中是“如果n为正,选择前n行。如果为负,选择下n行。”上面的top\n()
相当于排列(描述(有时AB2))%>%切片(1:3)
library(dplyr)
RateAB2 <- c(8, 4, 5, 5, 5, 4, 8, 7, 8, 5, 4,
8, 7, 4, 7, 7, 4, 3, 4, 4, 4, 5,
9, 6, 16, 13, 8, 9, 15, 17, 9,
10, 7, 3, 2, 4, 3, 3, 3, 7, 13,
18, 12, 18, 14, 17, 19, 15) %>%
as.numeric()
PhaseAB2 <- rep(c("A", "B"), each = 8, len = 48)
OccasionsAB2 <- rep(1:16, len = 48)
ID_AB2 <- rep(c("C1", "C2", "C3"), each = 16)
db5 <- data.frame(ID_AB2, OccasionsAB2, PhaseAB2, RateAB2)
db5 %>%
group_by(ID_AB2, PhaseAB2) %>% # for each ID and Phase
top_n(3, OccasionsAB2) %>% # keep last 3 occasions
summarise(MEAN = mean(RateAB2)) %>% # get the average
ungroup() # forget the grouping
# # A tibble: 6 x 3
# ID_AB2 PhaseAB2 MEAN
# <fct> <fct> <dbl>
# 1 C1 A 6.33
# 2 C1 B 6
# 3 C2 A 6.67
# 4 C2 B 12
# 5 C3 A 4.33
# 6 C3 B 17