簡體   English   中英

如何在R中融化單列

[英]How to Melt single column in R

如何將單列從T1熔化到T2。

 T1 Mar-17 T2 328 Mar-17 328 29.57 Mar-17 29.57 38.483 Mar-17 38.483 31.26 Mar-17 31.26 37.3 Mar-17 37.3 60.026 Mar-17 60.026 47.059 Mar-17 47.059 40.215 Mar-17 40.215 51.79 Mar-17 51.79 45.284 Mar-17 45.284 41.271 Mar-17 41.271 42.411 Mar-17 42.411 
以及我應該使用什么ID從T3獲得T4的輸出

 T3 Mar-17 Apr-17 T4 328 396 Mar-17 328 29.57 216.57 Mar-17 29.57 38.483 116.483 Mar-17 38.483 31.26 168.26 Mar-17 31.26 37.3 128.3 Mar-17 37.3 60.026 82.026 Mar-17 60.026 47.059 113.059 Mar-17 47.059 40.215 165.215 Mar-17 40.215 51.79 80.79 Mar-17 51.79 45.284 185.284 Mar-17 45.284 41.271 183.271 Mar-17 41.271 42.411 204.411 Mar-17 42.411 Apr-17 396 Apr-17 216.57 Apr-17 116.483 Apr-17 168.26 Apr-17 128.3 Apr-17 82.026 Apr-17 113.059 Apr-17 165.215 Apr-17 80.79 Apr-17 185.284 Apr-17 183.271 Apr-17 204.411 

當我使用堆棧

 T2 <- stack(T1) 

它給出錯誤信息

rep.int(名稱(x),長度(x))中的錯誤:無效的“時間”值

當我沒有列名(而是將Mar-17Apr-17作為第一次觀察結果)時,我能夠重現您的錯誤,因此我假設這就是您的數據的結構。 如果Mar-17Apr-17是您的列名,則stack()應該可以工作。

在這種情況下,可以將變量名設置為第一行中的值,然后對除第一行以外的所有內容使用stack()

names(T1) <- T1[1,]
T2 <- stack(T1[-1, , drop = F])

head(T2)
#       values    ind
#1     328 Mar-17
#2   29.57 Mar-17
#3  38.483 Mar-17
#4   31.26 Mar-17
#5    37.3 Mar-17
#6  60.026 Mar-17

names(T3) <- T3[1,]
T4 <- stack(T3[-1,])

head(T4)
#  values    ind
#1    328 Mar-17
#2  29.57 Mar-17
#3 38.483 Mar-17
#4  31.26 Mar-17
#5   37.3 Mar-17
#6 60.026 Mar-17

數據:

T1 <- structure(list(c("Mar-17", "328", "29.57", "38.483", "31.26", 
          "37.3", "60.026", "47.059", "40.215", "51.79", "45.284", "41.271", 
          "42.411")), class = "data.frame", row.names = c(NA, -13L))

T3 <- structure(list(c("Mar-17", "328", "29.57", "38.483", "31.26", 
          "37.3", "60.026", "47.059", "40.215", "51.79", "45.284", "41.271", 
          "42.411"), c("Apr-17", "396", "216.57", "116.483", "168.26", 
          "128.3", "82.026", "113.059", "165.215", "80.79", "185.284", 
          "183.271", "204.411")), row.names = c(NA, -13L), class = "data.frame")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM