Tôi có một khung dữ liệu mà tôi tan chảy bằng cách sử dụng gói định hình lại mà tôi muốn "không tan chảy".Làm thế nào để "unmelt" dữ liệu với reshape r
đây là một ví dụ đồ chơi của dữ liệu tan chảy (khung dữ liệu thực tế là 500x100 hoặc lớn hơn):
variable<-c(rep("X1",3),rep("X2",3),rep("X3",3))
value<-c(rep(rnorm(1,.5,.2),3),rep(rnorm(1,.5,.2),3),rep(rnorm(1,.5,.2),3))
dat <-data.frame(variable,value)
dat
variable value
1 X1 0.5285376
2 X1 0.5285376
3 X1 0.5285376
4 X2 0.1694908
5 X2 0.1694908
6 X2 0.1694908
7 X3 0.7446906
8 X3 0.7446906
9 X3 0.7446906
Mỗi biến (X1, X2, X3) đã giá trị ước tính khoảng 3 thời điểm khác nhau (mà trong này ví dụ đồ chơi xảy ra giống nhau, nhưng điều này không bao giờ xảy ra).
Tôi muốn để có được nó (lại) theo hình thức:
X1 X2 X3
1 0.5285376 0.1694908 0.7446906
2 0.5285376 0.1694908 0.7446906
3 0.5285376 0.1694908 0.7446906
Về cơ bản, tôi muốn cột biến để được sắp xếp trên ID (X1, X2 vv) và trở thành tiêu đề cột. Tôi đã thử hoán vị khác nhau của diễn viên, dcast, recast, vv .. và cant dường như để có được các dữ liệu ở định dạng mà tôi muốn. Thật dễ dàng để "làm tan chảy" dữ liệu từ dạng rộng đến dạng dài hơn (ví dụ: datset dat), nhưng việc lấy lại dữ liệu đã chứng tỏ là khó khăn. Bất kỳ ý tưởng? Tôi biết điều này là tương đối đơn giản, nhưng tôi đang có một thời gian khó khăn khái niệm làm thế nào để làm điều này trong reshape hoặc reshape2.
Cảm ơn, LP
Đó là một chút khó khăn ở đây vì dữ liệu bị tan chảy của bạn đã mất thông tin về hàng nào ban đầu, đó là thông tin được ước tính gấp ba lần. Nếu bạn sẵn sàng cho rằng nó luôn luôn 1-2-3 theo thứ tự (hoặc 1-2, nếu chỉ có hai), bạn có thể tạo một hàng với thông tin đó và sau đó bỏ nó trở lại. – Aaron