Что не так с этим кодом Reshape?

Я пытаюсь изменить этот фрейм данных:

    ID  tag stemID  spcode  x   y   blk plotnum trt date1   dbh1    hom1    codes1  height1 canpos1 liana1  obs1    date2   dbh2    hom2    codes2  height2 canpos2 liana2  obs2    date3   dbh3    hom3    codes3  height3 canpos3 liana3  obs3    date4   dbh4    hom4    codes4  height4 canpos4 liana4  obs4    date5   dbh5    hom5    codes5  height5 canpos5 liana5  obs5    date6   dbh6    hom6    codes6  height6 canpos6 liana6  obs6    date7   dbh7    hom7    codes7  height7 canpos7 liana7  obs7    date8   dbh8    hom8    codes8  height8 canpos8 liana8  obs8    date9   dbh9    hom9    codes9  height9 canpos9 liana9  obs9
1   1   511141      acapol  21  470 NA  1   CL  1/1/1993    NA  NA  NA  NA  NA  NA  NA  1/1/1994    NA  NA  NA  NA  NA  NA  NA  1/1/1995    NA  NA  NA  NA  NA  NA  NA  1/1/1996    NA  NA  NA  NA  NA  NA  NA  1/1/1998    NA  NA  NA  NA  NA  NA  NA  1/1/2000    NA  NA  NA  NA  NA  NA  NA  1/1/2003    NA  NA  NA  NA  NA  NA  NA  1/1/2006    20.10000    NA  NA  NA  NA  NA  NA  1/1/2009    24.20   NA  NA  NA  NA  1   NA
2   2   1406    SUB acapol  1   153 NA  14  CONTROL 1/1/1993    40.7    NA  NA  NA  NA  2   NA  1/1/1994    41.30000    NA  NA  NA  NA  NA  NA  1/1/1995    NA  NA  NA  NA  NA  NA  NA  1/1/1996    NA  NA  NA  NA  NA  NA  NA  1/1/1998    NA  NA  NA  NA  NA  NA  NA  1/1/2000    NA  NA  NA  NA  NA  NA  NA  1/1/2003    NA  NA  NA  NA  NA  NA  NA  1/1/2006    NA  NA  NA  NA  NA  NA  NA  1/1/2009    NA  NA  NA  NA  NA      NA
3   3   726     acapol  23  127 NA  10  RIL 1/1/1993    67.0    NA  NA  NA  NA  3   NA  1/1/1994    NA  NA  NA  NA  NA  NA  NA  1/1/1995    NA  NA  NA  NA  NA  NA  NA  1/1/1996    NA  NA  NA  NA  NA  NA  NA  1/1/1998    NA  NA  NA  NA  NA  NA  NA  1/1/2000    NA  NA  NA  NA  NA  NA  NA  1/1/2003    NA  NA  NA  NA  NA  NA  NA  1/1/2006    NA  NA  NA  NA  NA  NA  NA  1/1/2009    NA  NA  NA  NA  NA      NA
4   4   51664       aconit  22  102 NA  18  CONTROL 1/1/1993    NA  NA  NA  NA  NA  NA  NA  1/1/1994    NA  NA  NA  NA  NA  NA  NA  1/1/1995    NA  NA  NA  NA  NA  NA  NA  1/1/1996    NA  NA  NA  NA  NA  NA  NA  1/1/1998    NA  NA  NA  NA  NA  NA  NA  1/1/2000    NA  NA  NA  NA  NA  NA  NA  1/1/2003    NA  NA  NA  NA  NA  NA  NA  1/1/2006    10.40000    NA  NA  NA  NA  NA  NA  1/1/2009    10.70   NA  NA  NA  NA      NA
5   5   5198        aconit  24  67  NA  3   CONTROL 1/1/1993    NA  NA  NA  NA  NA  NA  NA  1/1/1994    NA  NA  NA  NA  NA  NA  NA  1/1/1995    NA  NA  NA  NA  NA  NA  NA  1/1/1996    NA  NA  NA  NA  NA  NA  NA  1/1/1998    NA  NA  NA  NA  NA  NA  NA  1/1/2000    NA  NA  NA  NA  NA  NA  NA  1/1/2003    NA  NA  NA  NA  NA  NA  NA  1/1/2006    10.50000    NA  NA  NA  NA  NA  NA  1/1/2009    10.70   NA  NA  NA  NA      NA

Примечание редактора: это данные, разделенные табуляцией, но вкладки были преобразованы в пробелы, и их может быть сложно импортировать. На постере должен быть размещен вывод из dput(перепись).

Я использовал этот код несколько раз, но теперь он дает мне ошибку, и, хотя это должно быть очень простой вещью, я не могу понять, чего не хватает:

census.long.coarse = 
  reshape(census, 
          varying=list(c("date1","date2","date3","date4","date5","date6","date7","date8","data9"),
                       c("dbh1","dbh2","dbh3","dbh4","dbh5","dbh6","dbh7","dbh8","dbh9")), 
          v.names = c("date","dbh"),
          direction = "long",
          times = c(1,2,3,4,5,6,7,8,9))

Я получаю ошибку:

Error in `[.data.frame`(data, , varying[[j]][i]) : 
  undefined columns selected

1 ответ

Вы сделали опечатку (data9 вместо date9). Должно сработать:

census.long.coarse = reshape(census,
          varying=list(c("date1","date2","date3","date4","date5","date6","date7","date8","date9"),
                       c("dbh1","dbh2","dbh3","dbh4","dbh5","dbh6","dbh7","dbh8","dbh9")), 
          v.names = c("date","dbh"),
          direction = "long",
          times = c(1,2,3,4,5,6,7,8,9))
Другие вопросы по тегам