簡體   English   中英

如何從另一個 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM