Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套组中对之间的dplyr差异_R_Dplyr - Fatal编程技术网

嵌套组中对之间的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

我想使用dplyr来计算会话中成对嵌套的人之间的值差异

期望输出:

您可以将条件扩展到标题,然后执行新-旧减法:

您可以将条件扩展到标题,然后执行新-旧减法:


您的输出可通过以下方式获得:

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