dplyr中的测试特定行值
我有数据帧:dplyr中的测试特定行值,r,dplyr,R,Dplyr,我有数据帧: df <- data.frame(subject=c('x','x','x','y','y','y','z','z','z'), trial=c(1,2,3,1,2,3,1,2,3), condition=c('A','A','B','B','B','B','A','A','A')) df看看这个答案: > df %>% group_by(subject) %>% filter(trial
df <- data.frame(subject=c('x','x','x','y','y','y','z','z','z'),
trial=c(1,2,3,1,2,3,1,2,3),
condition=c('A','A','B','B','B','B','A','A','A'))
df看看这个答案:
> df %>% group_by(subject) %>% filter(trial %in% c(1,3)) %>% ungroup() %>% group_by(subject) %>% filter(length(unique(condition)) == 2)
# A tibble: 2 x 3
# Groups: subject [1]
subject trial condition
<chr> <dbl> <chr>
1 x 1 A
2 x 3 B
>
>df%>%groupby(subject)%%>%filter(试用%c(1,3))%%>%ungroup()%%>%groupby(subject)%%>%filter(长度(唯一(条件))==2)
#一个tibble:2x3
#分组:受试者[1]
受试者的审判条件
1 x 1 A
2 x 3 B
>
我想这就是您所描述的
df %>% group_by(subject) %>%
summarise(first_cond = condition[trial==1],
third_cond = condition[trial==3]) %>%
filter(first_cond == "A",
third_cond == "B")
# A tibble: 1 x 3
subject first_cond third_cond
<chr> <chr> <chr>
1 x A B
<代码>df%%>%组\u按(主题)%%%
总结(第一个条件=条件[试验==1],
第三个条件=条件[试验==3])%>%
过滤器(第一个条件==“A”,
第三个条件==“B”)
#一个tibble:1 x 3
受试者第一次第二次第三次
1 x A B
如果每个
受试者的试验
的每个值只有一个条件
,那么这将起作用,因为逻辑是试验
和条件
的特定对,所以将数据与允许对表进行内部联接可能很有用,然后找到所有试验/条件都存在的受试者
库(dplyr)
fltr作为一个正确的答案必须写下来:有多种选择和知识!你太棒了!