我試圖熔化以下數據集成3列 - 「小時」,「變量」和「簇」熔化DF成3列
> head(kpitdur)
hr_0 hr_1030 hr_1130 hr_160 hr_180 hr_190 hr_200 hr_630 hr_830
1 79.08333 63.06667 63.06667 63.06667 63.06667 63.06667 63.06667 65.73333 63.06667
2 71.45000 51.80000 51.80000 51.80000 51.80000 51.80000 51.80000 71.45000 51.80000
3 86.96667 56.91667 56.91667 56.91667 56.91667 56.91667 56.91667 69.00000 56.91667
4 91.53333 77.38333 61.83333 77.38333 77.38333 77.38333 77.38333 77.38333 77.38333
5 91.83333 78.10000 78.10000 78.10000 78.10000 78.10000 78.10000 78.10000 78.10000
6 111.41667 65.75000 65.75000 65.75000 65.75000 65.75000 65.75000 80.63333 65.75000
hr_930 cluster
1 63.06667 2
2 51.80000 2
3 56.91667 2
4 77.38333 1
5 78.10000 1
6 65.75000 1
然而,當我使用以下公式在熔體中,我只給了兩列,不知道如何解決這個問題。我曾嘗試在value.name中輸入不同的變量名稱,但這不起作用。如何將這個數據集分解成三個獨立的列?
> melted <- melt(kpitdur, value.name = "cluster")
No id variables; using all as measure variables
> head(melted)
variable cluster
1 hr_0 79.08333
2 hr_0 71.45000
3 hr_0 86.96667
4 hr_0 91.53333
5 hr_0 91.83333
6 hr_0 111.41667
> tail(melted)
variable cluster
11699 cluster 1
11700 cluster 1
11701 cluster 1
11702 cluster 2
11703 cluster 1
11704 cluster 1
下面是數據的一個樣本:
> dput(df)
structure(list(hr_0 = c(79.0833333333333, 71.45, 86.9666666666667,
91.5333333333333, 91.8333333333333, 111.416666666667), hr_1030 = c(63.0666666666667,
51.8, 56.9166666666667, 77.3833333333333, 78.1, 65.75), hr_1130 = c(63.0666666666667,
51.8, 56.9166666666667, 61.8333333333333, 78.1, 65.75), hr_160 = c(63.0666666666667,
51.8, 56.9166666666667, 77.3833333333333, 78.1, 65.75), hr_180 = c(63.0666666666667,
51.8, 56.9166666666667, 77.3833333333333, 78.1, 65.75), hr_190 = c(63.0666666666667,
51.8, 56.9166666666667, 77.3833333333333, 78.1, 65.75), hr_200 = c(63.0666666666667,
51.8, 56.9166666666667, 77.3833333333333, 78.1, 65.75), hr_630 = c(65.7333333333333,
71.45, 69, 77.3833333333333, 78.1, 80.6333333333333), hr_830 = c(63.0666666666667,
51.8, 56.9166666666667, 77.3833333333333, 78.1, 65.75), hr_930 = c(63.0666666666667,
51.8, 56.9166666666667, 77.3833333333333, 78.1, 65.75), cluster = c(2L,
2L, 2L, 1L, 1L, 1L)), .Names = c("hr_0", "hr_1030", "hr_1130",
"hr_160", "hr_180", "hr_190", "hr_200", "hr_630", "hr_830", "hr_930",
"cluster"), row.names = c(NA, 6L), class = "data.frame")
'No id variables;使用全部作爲度量變量'是一個線索 – rawr
讓你90%的方式: '重塑(kpitdur,變化=名稱(kpitdur)[1:10],方向=「長」,v.names =「小時」 )';只要將'time'改爲變量名即可 –