嵌套组中对之间的dplyr差异
我想使用dplyr来计算会话中成对嵌套的人之间的值差异 期望输出: 您可以将条件扩展到标题,然后执行新-旧减法: 您可以将条件扩展到标题,然后执行新-旧减法:嵌套组中对之间的dplyr差异,r,dplyr,R,Dplyr,我想使用dplyr来计算会话中成对嵌套的人之间的值差异 期望输出: 您可以将条件扩展到标题,然后执行新-旧减法: 您可以将条件扩展到标题,然后执行新-旧减法: 您的输出可通过以下方式获得: dat %>% group_by(pair,session) %>% arrange(condition) %>% summarise(diff = -diff(value)) Source: local data frame [40 x 3] Groups: pair [?] # A t
您的输出可通过以下方式获得:
dat %>% group_by(pair,session) %>% arrange(condition) %>% summarise(diff = -diff(value))
Source: local data frame [40 x 3]
Groups: pair [?]
# A tibble: 40 x 3
pair session diff
<dbl> <dbl> <dbl>
1 1 1 0
2 1 2 1
3 1 3 3
4 1 4 6
5 1 5 12
6 1 6 11
7 1 7 10
8 1 8 8
9 1 9 5
10 1 10 5
# ... with 30 more rows
排列可确保新的和旧的处于正确的位置,但解决方案取决于对和会话的每个组合正好有2个值。您的输出可以通过以下方式获得:
dat %>% group_by(pair,session) %>% arrange(condition) %>% summarise(diff = -diff(value))
Source: local data frame [40 x 3]
Groups: pair [?]
# A tibble: 40 x 3
pair session diff
<dbl> <dbl> <dbl>
1 1 1 0
2 1 2 1
3 1 3 3
4 1 4 6
5 1 5 12
6 1 6 11
7 1 7 10
8 1 8 8
9 1 9 5
10 1 10 5
# ... with 30 more rows
排列可确保新的和旧的处于正确的位置,但解决方案取决于对和会话的每个组合正好有2个值。您的预期输出数据.frame是什么样子的?您的预期输出数据.frame是什么样子的?谢谢!同样的问题也要问你@Psidom。是否可以保留条件变量?您希望条件列是什么样子?每一行代表新的和旧的区别。从我的角度来看没有太多意义。谢谢!同样的问题也要问你@Psidom。是否可以保留条件变量?您希望条件列是什么样子?每一行代表新的和旧的区别。从我的角度来看,这没有太多意义。
library(dplyr); library(tidyr)
dat %>%
select(-person) %>%
spread(condition, value) %>%
mutate(diff = NEW - OLD) %>%
select(session, pair, diff)
# A tibble: 40 x 3
# session pair diff
# <dbl> <dbl> <dbl>
# 1 1 1 0
# 2 2 1 1
# 3 3 1 3
# 4 4 1 6
# 5 5 1 12
# 6 6 1 11
# 7 7 1 10
# 8 8 1 8
# 9 9 1 5
#10 10 1 5
# ... with 30 more rows
dat %>% group_by(pair,session) %>% arrange(condition) %>% summarise(diff = -diff(value))
Source: local data frame [40 x 3]
Groups: pair [?]
# A tibble: 40 x 3
pair session diff
<dbl> <dbl> <dbl>
1 1 1 0
2 1 2 1
3 1 3 3
4 1 4 6
5 1 5 12
6 1 6 11
7 1 7 10
8 1 8 8
9 1 9 5
10 1 10 5
# ... with 30 more rows