xts - 删除特定行而不转换为其他格式
xts - Delete specific rows without transform to other format
问题:如何删除xts中的特定行,而不需要转换为其他格式。要删除的选定行将基于行号或 [column.one] 而不是时间戳。
这是我目前测试过的:
将第 4 行第 1 列发送到 NULL
myxts[4,1] <- NULL
结果:NextMethod(.Generic) 出错:
要替换的项目数不是替换长度的倍数
给 NA 添加值,然后用 [na.omit]
删除所有 NA
xts3[1,1] <- NA # Adds NA
na.omit(xts3)
结果:删除了 NA 行,但没有解决删除行的直接方法。
这是我的测试 xts:
##########
# Test xts
##########
dates <- as.POSIXct( # Construct the dates to be used.
c(
"2013-07-24 09:01:00",
"2013-07-24 09:02:00",
"2013-07-24 09:03:00"
)
)
column.one <- c(1,2,3) # Data in column.one.
data <- data.frame(column.one) # Create a dataframe.
xts3 <- xts(x=data, order.by=dates) # Create xts based on dataframe.
以下几行产生相等的输出。
xts3[-2, ]
xts3[index(xts3) != index(xts3[xts3$column.one == 2])]
column.one
2013-07-24 09:01:00 1
2013-07-24 09:03:00 3
但是对于 xts / zoo 时间序列,使用索引会更好也更安全,因为这可以更好地控制您想要/可以使用它们实现的目标。
问题:如何删除xts中的特定行,而不需要转换为其他格式。要删除的选定行将基于行号或 [column.one] 而不是时间戳。
这是我目前测试过的:
将第 4 行第 1 列发送到 NULL
myxts[4,1] <- NULL
结果:NextMethod(.Generic) 出错: 要替换的项目数不是替换长度的倍数
给 NA 添加值,然后用 [na.omit]
删除所有 NAxts3[1,1] <- NA # Adds NA
na.omit(xts3)
结果:删除了 NA 行,但没有解决删除行的直接方法。
这是我的测试 xts:
##########
# Test xts
##########
dates <- as.POSIXct( # Construct the dates to be used.
c(
"2013-07-24 09:01:00",
"2013-07-24 09:02:00",
"2013-07-24 09:03:00"
)
)
column.one <- c(1,2,3) # Data in column.one.
data <- data.frame(column.one) # Create a dataframe.
xts3 <- xts(x=data, order.by=dates) # Create xts based on dataframe.
以下几行产生相等的输出。
xts3[-2, ]
xts3[index(xts3) != index(xts3[xts3$column.one == 2])]
column.one
2013-07-24 09:01:00 1
2013-07-24 09:03:00 3
但是对于 xts / zoo 时间序列,使用索引会更好也更安全,因为这可以更好地控制您想要/可以使用它们实现的目标。