R 不同向量长度的相关性

R 不同向量长度的相关性,r,expand,R,Expand,我在早些时候问了一个问题,这个问题已经迁移到stats.stackexchange 在那里的回答之后,我有一些关于在R中实现的问题来解决这个问题,我想我应该在这里问他们 这就是我想要制作的: 我有两个独立的柱,价格和时间,每一个股票。如果权益X存在时间,但权益Y不存在时间,则应将之前的价格放入向量中,反之亦然 这里的解决方案是if循环吗? 谢谢你的帮助 例如: X Y price time price time 10 540 20 540

我在早些时候问了一个问题,这个问题已经迁移到stats.stackexchange

在那里的回答之后,我有一些关于在R中实现的问题来解决这个问题,我想我应该在这里问他们

这就是我想要制作的:

我有两个独立的柱,价格和时间,每一个股票。如果权益X存在时间,但权益Y不存在时间,则应将之前的价格放入向量中,反之亦然

这里的解决方案是if循环吗? 谢谢你的帮助

例如:

X           Y   
price   time   price   time
10     540     20  540
11     541     21  541
12     542     22  543
13     544     23  544
14     545     24  545

price   time   price   time
10     540     20  540
11     541     21  541
12     542     21  542
12     543     22  543
13     544     23  544
14     545     24  545
如果是这样,这将起作用:

replaceKEEPFIRST <- function(x) {
x2    <- na.locf(x)
diffx <- length(x) - length(x2)
val   <- c(rep(x2[1],diffx),x2)
return(val)
}

myx <- c(NA,1,2,3,NA)
myy <- c(1,2,3,NA)
replaceKEEPFIRST(myx)
replaceKEEPFIRST(myy)
replaceKEEPFIRST
如果是这样,这将起作用:

replaceKEEPFIRST <- function(x) {
x2    <- na.locf(x)
diffx <- length(x) - length(x2)
val   <- c(rep(x2[1],diffx),x2)
return(val)
}

myx <- c(NA,1,2,3,NA)
myy <- c(1,2,3,NA)
replaceKEEPFIRST(myx)
replaceKEEPFIRST(myy)

replaceKEEPFIRST您需要在R中创建一个相关矩阵。您需要在R中创建一个相关矩阵。也许这会有助于说明OP需要为其提供zoo软件包this@A_K
library(zoo)
在代码中@弗洛德尔,谢谢你的清洁,很高兴它在我发布第一条评论的同时出现了!:-)@弗洛德尔太棒了!我需要将数据和时间合并成一个向量,但除此之外,我认为这会起作用。对于na.locf函数,有一个问题-如果第一个实例实际上是向量中的na,那么这些实例是否会被删除、保留na、忽略,或者第一个不是na的实例是否会填充正在进行的NAs?当我阅读描述时,它只提到将填写prioir NAs。我感谢你的帮助。非常感谢他们被删除:
ss也许这会有助于提到OP需要动物园套餐this@A_K
library(zoo)
在代码中@弗洛德尔,谢谢你的清洁,很高兴它在我发布第一条评论的同时出现了!:-)@弗洛德尔太棒了!我需要将数据和时间合并成一个向量,但除此之外,我认为这会起作用。对于na.locf函数,有一个问题-如果第一个实例实际上是向量中的na,那么这些实例是否会被删除、保留na、忽略,或者第一个不是na的实例是否会填充正在进行的NAs?当我阅读描述时,它只提到将填写prioir NAs。我感谢你的帮助。非常感谢他们被删除:
ss
replaceKEEPFIRST <- function(x) {
x2    <- na.locf(x)
diffx <- length(x) - length(x2)
val   <- c(rep(x2[1],diffx),x2)
return(val)
}

myx <- c(NA,1,2,3,NA)
myy <- c(1,2,3,NA)
replaceKEEPFIRST(myx)
replaceKEEPFIRST(myy)
big$price.x <- replaceKEEPFIRST(big$price.x)
big$price.y <- replaceKEEPFIRST(big$price.y)