사소한 것을 놓치고 있어야하지만 아래의 캐스트가 데이터 프레임을 목록으로 변환하는 이유를 알 수 없습니다. 가능한 경우 출력을 데이터 프레임으로 만들고 싶습니다. 나는 그것을캐스팅은 데이터 프레임을 r (reshape package)의 목록으로 변환합니다. 데이터 프레임으로 유지하고 싶습니다.
d<-cast(d,Date+credit_id~varb)
캐스팅하려고 내가
STR (D)
List of 4
$ Date : Date[1:9], format: "2003-06-30" "2003-06-30" "2003-09-30" ...
$ credit_id: num [1:9] 12 18 12 18 12 ...
$ ebitda : num [1:9] NA NA NA NA NA ...
$ sales : num [1:9] 840 4831 854 4670 847 ...
- attr(*, "row.names")= int [1:9] 1 2 3 4 5 6 7 8 9
- attr(*, "idvars")= chr [1:2] "Date" "credit_id"
- attr(*, "rdimnames")=List of 2
..$ :'data.frame': 9 obs. of 2 variables:
.. ..$ Date : Date[1:9], format: "2003-06-30" "2003-06-30" "2003-09-30" ...
.. ..$ credit_id: num [1:9] 12 18 12 18 12 ...
..$ :'data.frame': 2 obs. of 1 variable:
.. ..$ varb: chr [1:2] "ebitda" "sales"
를 얻을 다음
str(d)
'data.frame': 12 obs. of 4 variables:
$ credit_id: num 12 12 12 12 18 ...
$ Date : Date, format: "2003-06-30" "2003-09-30" "2003-12-31" ...
$ value : num 840 854 847 834 4831 ...
$ varb : chr "sales" "sales" "sales" "sales" ...
로
그것은 시작
전체 코드는 다음과 같습니다. 미리 감사드립니다.
d<-structure(list(credit_id = c(12, 12, 12, 12, 18, 18, 2073, 2073,
2103, 2103, 1776, 1776), Date = structure(c(12233, 12325, 12417,
12508, 12233, 12325, 15552, 15552, 15552, 15552, 15552, 15552
), class = "Date"), value = c(839.8, 853.9, 846.9, 833.7, 4831.2,
4670, 54.1, 995, 90.944, 1092.8, 81.2, 1348.2), varb = c("sales",
"sales", "sales", "sales", "sales", "sales", "ebitda", "sales",
"ebitda", "sales", "ebitda", "sales")), .Names = c("credit_id",
"Date", "value", "varb"), row.names = c(606799L, 606800L, 606801L,
606802L, 606805L, 606806L, 1131814L, 1131822L, 1131950L, 1131958L,
1132034L, 1132042L), class = "data.frame")
head(d)
str(d)
d<-cast(d,Date+credit_id~varb)
head(d)
str(d)
'class (d)'는'list '의 특별한 형식 인'data.frame'이라는 것을 보여줍니다. 그러나, 그것은'cast_df' 클래스의 첫 번째 클래스이며, 그것은 자체 str 메소드를 가지고있어서 다른 것처럼 보입니다. 고맙습니다 @ 제임스. – James
어쩌면 내가 그렇게 목록을 무서워해서는 안됩니다 :) – Aidan