我想將我的數據從寬轉換爲長。我有一個ID變量和131列的時間數據。所有列都是整數格式。數據以csv格式導入。使用重塑從寬轉長的問題 - tibble問題?
> class(ECGHR)
[1] "tbl_df" "tbl" "data.frame"
這裏是前6行數據的22隨時間變化的變量:
> head (ECGHR)
# A tibble: 6 × 132
id T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 T20 T21 T22
<int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int>
1 2003 70 65 69 71 68 74 67 65 60 66 59 99 74 73 87 94 88 88 98 73 72 63 79
2 2004 98 105 85 87 83 83 77 71 75 73 73 71 87 74 79 75 72 71 71 68 86 72 73
3 2008 93 92 91 90 93 88 89 83 93 96 95 94 89 91 87 93 88 100 93 92 89 93 83
4 2010 71 69 74 71 74 68 74 68 78 75 81 72 74 77 74 70 64 68 65 69 66 73 75
5 2018 90 86 93 91 86 82 97 95 95 83 79 88 78 92 86 94 83 79 96 91 72 78 80
6 2019 60 58 59 58 66 68 73 77 58 110 56 56 53 49 73 56 45 50 46 45 46 54 50
這是我的重塑代碼:
ECGHR_long=reshape(ECGHR, varying=c(2:132), direction="long", idvar="id", sep="")
這裏是警告消息:
Error in `row.names<-.data.frame`(`*tmp*`, value = paste(d[, idvar], times[1L], : invalid 'row.names' length
In addition: Warning message:
Setting row names on a tibble is deprecated.
我習慣於使用數據框架,我無法弄清楚爲什麼它不會重塑(我是R的新手)。我需要將其轉換爲數據幀嗎?我會非常感謝任何見解!
'從'tidyr'包gather'做同樣的事情'reshape'但我覺得它更直觀的使用。在這種情況下'ECGHR_long <- ECGHR %>%聚集(鍵= 「T」,值= 「值」, - ID)' –
謝謝!這工作完美。 –