如何从另一个 XTS 创建虚拟变量的 XTS?
How do I create an XTS of dummy variables from another XTS?
假设我有以下 xts...
a <- c(1,-1,2,-2)
b <- c(-1,-2,3,4)
x <- xts(cbind(a,b),order.by = as.Date(c("2015-01-02","2015-01-05","2015-01-06","2015-01-07")))
x
这给你...
a b
2015-01-02 1 -1
2015-01-05 -1 -2
2015-01-06 2 3
2015-01-07 -2 4
我想创建一个虚拟变量的 xts,当值大于 0 和 0 以及值小于或等于 0 时取值 1。所以我想得到这个...
a b
2015-01-02 1 0
2015-01-05 0 0
2015-01-06 1 1
2015-01-07 0 1
我尝试了以下代码,但没有成功...
y <- ifelse(x>0,1,0)
y
这是一个选项,我们使用 as.integer
将逻辑转换为二进制并将结果分配回原始数据集
x[] <- as.integer(x > 0)
或使用算术
(x > 0) * 1
# a b
#2015-01-02 1 0
#2015-01-05 0 0
#2015-01-06 1 1
#2015-01-07 0 1
或者另一种选择是
(x > 0) + 0
假设我有以下 xts...
a <- c(1,-1,2,-2)
b <- c(-1,-2,3,4)
x <- xts(cbind(a,b),order.by = as.Date(c("2015-01-02","2015-01-05","2015-01-06","2015-01-07")))
x
这给你...
a b
2015-01-02 1 -1
2015-01-05 -1 -2
2015-01-06 2 3
2015-01-07 -2 4
我想创建一个虚拟变量的 xts,当值大于 0 和 0 以及值小于或等于 0 时取值 1。所以我想得到这个...
a b
2015-01-02 1 0
2015-01-05 0 0
2015-01-06 1 1
2015-01-07 0 1
我尝试了以下代码,但没有成功...
y <- ifelse(x>0,1,0)
y
这是一个选项,我们使用 as.integer
将逻辑转换为二进制并将结果分配回原始数据集
x[] <- as.integer(x > 0)
或使用算术
(x > 0) * 1
# a b
#2015-01-02 1 0
#2015-01-05 0 0
#2015-01-06 1 1
#2015-01-07 0 1
或者另一种选择是
(x > 0) + 0