2017-11-23 1 views
0

I는 데이터 프레임을 다음과 같이 (DAT)는 그 구조 읽용융 함수 match.names을 준다() 에러

Classes ‘grouped_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 16 obs. of 28 variables: 
$ tank  : Factor w/ 16 levels "1","2","3","4",..: 1 4 5 16 6 8 10 11 7 12 ... #This is a factor 
$ treatment: Factor w/ 4 levels "1","2","3","4": 1 1 1 1 2 2 2 2 3 3 ... 
$ t0  : int 13 14 16 10 18 19 14 20 10 15 ...#The following are numbers at different time densities 
$ t3  : int 28 16 18 28 28 28 38 44 16 11 ...#time 3 
$ t7  : int 18 19 43 57 37 90 70 69 11 24 ...#time 7 
$ t10  : int 4 24 30 15 59 54 56 16 66 19 ...#time 10 
$ t14  : int 12 80 37 21 35 39 102 16 78 18 ...#time 17 
$ t17  : int 4 36 58 29 38 42 54 46 48 12 ...#time 21 
$ t21  : int 45 62 29 0 27 35 45 89 11 16 ... 
$ t24  : int 55 97 13 116 62 60 14 112 3 56 ... 
$ t28  : int 83 128 87 145 112 138 64 143 9 153 ... 
$ t31  : int 80 104 123 134 89 76 98 96 34 120 ... 
$ t35  : int 12 74 71 80 93 78 100 56 80 102 ... 
$ t38  : int 65 76 82 88 76 71 96 68 108 63 ...#time 38 
$ t42  : int 127 133 72 108 68 111 92 0 109 116 ... 
$ t45  : int 81 99 52 85 113 105 84 54 100 137 ... 
$ t49  : int 30 99 65 136 192 158 115 98 40 172 ... 
$ t52  : int 16 112 58 128 196 78 88 10 56 231 ... 
$ t56  : int 44 156 149 102 297 229 172 72 46 207 ... 
$ t59  : int 61 105 141 105 329 130 186 66 75 169 ...#time59 
$ t63  : int 81 58 191 70 171 39 61 37 21 110 ... 
$ t66  : int 91 122 239 43 232 101 107 27 46 102 ... 
$ t70  : int 138 97 297 38 161 87 93 55 84 95 ... 
$ t72  : int 115 100 338 37 381 344 138 51 83 113 ... 
$ t77  : int 140 117 245 91 195 331 84 21 3 107 ... 
$ t80  : int 120 88 164 70 217 279 33 0 1 74 ...#time80 
$ t84  : int 198 87 166 33 265 138 100 0 0 20 ... 
$ t87  : int 165 63 132 0 182 234 15 0 2 1 ... #This is the end of the data set 
- attr(*, "vars")= chr "tank" #the attributes 
- attr(*, "drop")= logi TRUE #the attributes 
- attr(*, "indices")=List of 16 #the attributes 
    ..$ : int 0 
    ..$ : int 12 
    ..$ : int 13 
    ..$ : int 1 
    ..$ : int 2 
    ..$ : int 4 
    ..$ : int 8 
    ..$ : int 5 
    ..$ : int 14 
    ..$ : int 6 
    ..$ : int 7 
    ..$ : int 9 
    ..$ : int 10 
    ..$ : int 15 
    ..$ : int 11 
    ..$ : int 3 
- attr(*, "group_sizes")= int 1 1 1 1 1 1 1 1 1 1 ... 
- attr(*, "biggest_group_size")= int 1 
- attr(*, "labels")='data.frame': 16 obs. of 1 variable: 
    ..$ tank: Factor w/ 16 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ... 
    ..- attr(*, "vars")= chr "tank" 
    ..- attr(*, "drop")= logi TRUE 

I는 다음 사용 dataframe 용융 시도하고 :

dat_melt < - #I 내가 가지고 "Error in match.names(clabs, names(xi)) : names do not match previous names"

을 말한다 오류가 발생

을 녹여 모양 변경 라이브러리를 사용했다(), "치료"DAT, 아이디 = C를 ("탱크")을 녹여 이 오류가 왜 나타나는지 전혀 알 수 없습니다. 어떤 아이디어?

+2

에서 gather를 사용하는 data.frame로 변환 할 수 있습니다. id = c ('tank', 'treatment'))'gather '즉'dat %> gather (key, 가치, 거래 - 처리)' – akrun

+0

집회가 그 일을했다. 첫 번째 제안에서 동일한 오류가 발생했습니다 – PythonDabble

+0

data.frame으로 변환 중이므로'dat %> % as.data.frame %> % melt (., id = c ('tank', 'treatment'))'시도했습니다. 이 속성을 제거합니다. 불행히도, 나는'출력 '출력 없이는 테스트 할 수 없다. – akrun

답변

0

문제는 속성과 관련 될 수 있습니다. 우리는 하나 이러한 속성

dat %>% 
    as.data.frame %>% 
    melt(., id = c('tank', 'treatment')) 

을 제거하거나 속성에 문제가 될 수 tidyr

dat %>% 
    gather(key, value, -tank, -treatment)