티스토리 뷰

데이터의 기본 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 개체를 만들 때 timegroup열을 제거하여 예상대로 숫자 데이터를 가져옵니다. 그룹 열 유형을 정수로 매핑 할 수 있습니다. 또한 이미 시간 정보를 포함하고 있으므로 인수 time에 대한 xts 객체 생성에 포함해서는 안됩니다 .xorder.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
댓글
공지사항
Total
Today
Yesterday
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31