R传播错误:行的标识符重复

时间:2019-01-07 03:10:58

标签: r dplyr tidyr

使用数据集df:

 df
 confint        row Index
 0.3407,0.4104    1     1
 0.2849,0.4413    2     2
 0.2137,0.2674    3     3
 0.1910,0.4575    4     1
 0.4039,0.4905    5     2
 0.403,0.4822     6     3
 0.0301,0.0646    7     1
 0.0377,0.0747    8     2
 0.0835,0.0918    9     3
 0.0437,0.0829   10     1
 0.0417,0.0711   11     2
 0.0718,0.0798   12     3
 0.0112,0.0417   13     1
 0.019,0.0237    14     2
 0.0213,0.0293   15     3
 0.0121,0.0393   16     1
 0.0126,0.0246   17     2
 0.0318,0.0428   18     3
 0.0298,0.0631   19     1
 0.018,0.0202    20     2
 0.1031,0.1207   21     3

这应该是一个相当容易的数据集,可以将它从长(7)(行)x 3(列)的数据帧转换成长格式。结果应该有3个以Index命名的列和7行(21/3 = 7)。代码如下:

df <- spread(df,Index, confint, convert = FALSE)

但是,通过使用Spread(),我收到了以下错误:

  

错误:行(1、4、7、10、13、16、19),(2、5、8、11、14、17、20),(3、6、9、12, 15、18、21)

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

我们需要创建一个序列列,然后创建spread

library(tidyverse)
df %>%
  group_by(Index) %>%
  mutate(ind = row_number()) %>%
  spread(Index, confint, convert = FALSE)

注意:这将是原始数据集中的问题,而不是帖子中显示的示例数据中的问题