티스토리 뷰
데이터의 기본 xts 객체는 숫자 또는 문자 유형이 될 수 있지만 둘 다가 아닌 행렬입니다 (각 열이 R에서 원자 유형이 될 수있는 목록 인 data.frame과 달리). 이런 일이 발생하는 것을 대략적으로 확인하는 방법은 다음과 같습니다.
> as.matrix(df)
time group value
[1,] "2016-04-13 23:07:45" "A" " 5"
[2,] "2016-04-13 23:07:55" "A" "10"
[3,] "2016-04-13 23:08:45" "A" " 2"
[4,] "2016-04-13 23:08:45" "B" " 2"
[5,] "2016-04-13 23:08:45" "B" NA
[6,] "2016-04-13 23:07:50" "B" " 1"
[7,] "2016-04-13 23:07:51" "B" " 4"
객체를 coredata
만들 때 반환 되는 것입니다 xts
.
x.df<- xts(df,order.by=df$time)
> coredata(x.df)
time group value
[1,] "2016-04-13 23:07:45" "A" " 5"
[2,] "2016-04-13 23:07:50" "B" " 1"
[3,] "2016-04-13 23:07:51" "B" " 4"
[4,] "2016-04-13 23:07:55" "A" "10"
[5,] "2016-04-13 23:08:45" "A" " 2"
[6,] "2016-04-13 23:08:45" "B" " 2"
[7,] "2016-04-13 23:08:45" "B" NA
xts 개체를 만들 때 time
및 group
열을 제거하여 예상대로 숫자 데이터를 가져옵니다. 그룹 열 유형을 정수로 매핑 할 수 있습니다. 또한 이미 시간 정보를 포함하고 있으므로 인수 time
에 대한 xts 객체 생성에 포함해서는 안됩니다 .x
order.by
예 :
df$group_idx <- as.numeric(as.factor(df$group))
x.df<- xts(df[, c("group_idx", "value")],order.by=df$time)
> x.df
group_idx value
2016-04-13 23:07:45 1 5
2016-04-13 23:07:50 2 1
2016-04-13 23:07:51 2 4
2016-04-13 23:07:55 1 10
2016-04-13 23:08:45 1 2
2016-04-13 23:08:45 2 2
2016-04-13 23:08:45 2 NA
출처
https://stackoverflow.com/questions/39920158
댓글