删除日期和 xts 时间序列的观察结果
deleting a date and the observations of an xts time series
我是 R 的新手,所以我想我有一些初学者的问题...
我的数据是 xts 时间序列,但我希望从数据中删除一个(或多个)日期。下面是我的数据和 class.
的尾部
我想做的是从 [x] 系列中删除 [2017-11-16] 的整行。有简单的方法吗?
> tail(x)
CC1.CLOSE CC1.HIGH CC1.LOW CC1.OPEN
2017-11-09 2185 2198 2169 2196
2017-11-10 2212 2226 2179 2186
2017-11-13 2201 2214 2178 2199
2017-11-14 2155 2204 2152 2196
2017-11-15 2129 2162 2110 2155
2017-11-16 2140 2152 2132 2133
> class(x)
[1] "xts" "zoo"
> str(x)
An ‘xts’ object on 2016-01-04/2017-11-16 containing:
Data: int [1:474, 1:4] 3063 2998 2920 2902 2956 2841 2799 2831 2796 2844 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:4] "CC1.CLOSE" "CC1.HIGH" "CC1.LOW" "CC1.OPEN"
Indexed by objects of class: [POSIXct,POSIXt] TZ: UTC
xts Attributes:
NULL
这种情况下的解决方案是
x["/2017-11-15"]
您可以查看 this cheat sheet 了解有关 xts
软件包的更多信息。
如果您只想删除最后一行,您可以像这样从 X 创建一个新的 xts:
x.new <- first(x, (length(MSFT[,1]) - 1))
这将删除最后一行。
您还可以通过执行以下操作来摆脱索引:coredata(x)
这有时可以使操作数据变得更容易。
一个简单的方法就是使用“head”
例如,如果您想从 xts 中删除最后“n”行:
x1 <- x %>% head(-n)
我是 R 的新手,所以我想我有一些初学者的问题...
我的数据是 xts 时间序列,但我希望从数据中删除一个(或多个)日期。下面是我的数据和 class.
的尾部我想做的是从 [x] 系列中删除 [2017-11-16] 的整行。有简单的方法吗?
> tail(x)
CC1.CLOSE CC1.HIGH CC1.LOW CC1.OPEN
2017-11-09 2185 2198 2169 2196
2017-11-10 2212 2226 2179 2186
2017-11-13 2201 2214 2178 2199
2017-11-14 2155 2204 2152 2196
2017-11-15 2129 2162 2110 2155
2017-11-16 2140 2152 2132 2133
> class(x)
[1] "xts" "zoo"
> str(x)
An ‘xts’ object on 2016-01-04/2017-11-16 containing:
Data: int [1:474, 1:4] 3063 2998 2920 2902 2956 2841 2799 2831 2796 2844 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:4] "CC1.CLOSE" "CC1.HIGH" "CC1.LOW" "CC1.OPEN"
Indexed by objects of class: [POSIXct,POSIXt] TZ: UTC
xts Attributes:
NULL
这种情况下的解决方案是
x["/2017-11-15"]
您可以查看 this cheat sheet 了解有关 xts
软件包的更多信息。
如果您只想删除最后一行,您可以像这样从 X 创建一个新的 xts:
x.new <- first(x, (length(MSFT[,1]) - 1))
这将删除最后一行。
您还可以通过执行以下操作来摆脱索引:coredata(x)
这有时可以使操作数据变得更容易。
一个简单的方法就是使用“head”
例如,如果您想从 xts 中删除最后“n”行:
x1 <- x %>% head(-n)