Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.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
R 重复标识符的扩展_R_Tidyr_Spread - Fatal编程技术网

R 重复标识符的扩展

R 重复标识符的扩展,r,tidyr,spread,R,Tidyr,Spread,我真的很抱歉再次问这个问题,因为关于这个问题已经有很多问题了。然而,所有的解决方案都不能解决我的问题 我的数据如下所示: id scale rater rating 1 A 1 5 1 B 1 7 1 A 2 3 1 B 2 6 2 A 1 4 2 B 1 3 2 A 2 2 2 B 2 1 id s

我真的很抱歉再次问这个问题,因为关于这个问题已经有很多问题了。然而,所有的解决方案都不能解决我的问题

我的数据如下所示:

id scale rater rating  
1   A      1      5
1   B      1      7
1   A      2      3
1   B      2      6
2   A      1      4
2   B      1      3
2   A      2      2
2   B      2      1
id scale   1      2  
1   A      5      3
1   B      7      6
2   A      4      2
2   B      3      1
我想
分摊(评级者,评级)

最后应该是这样的:

id scale rater rating  
1   A      1      5
1   B      1      7
1   A      2      3
1   B      2      6
2   A      1      4
2   B      1      3
2   A      2      2
2   B      2      1
id scale   1      2  
1   A      5      3
1   B      7      6
2   A      4      2
2   B      3      1
问题显然是第一个数据集中的行没有唯一的标识符。看看类似问题的答案,似乎没有一个解决方案适合我。我不能只删除重复的行,在使用行号或分组标识符时
group\u by(id)%%>%
mutate(grouped_id=row_number())
我没有将两个评分员放在一列中,而是将另一个评分员的评分分别放在一行中,每个行都带有NA

我觉得我尝试了所有我能找到的,我真的很感激一些帮助!提前非常感谢

我们可以使用该功能,而无需通过任何东西对您进行分组(感谢@Jaap):

数据
dat不需要
分组依据
;只是
dat%>%的差价(评级者,评级)
有效
dat <- structure(list(id = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L), 
               scale = c("A", "B", "A", "B", "A", "B", "A", "B"), 
               rater = c(1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L), 
               rating = c(5L, 7L, 3L, 6L, 4L, 3L, 2L, 1L)),
          class = "data.frame", row.names = c(NA, -8L))