我有两个具有不同行数的数据框。第一列是观察的条件索引,第二列是观察的值。我需要通过它们的索引将这两个数据帧组合成一个,如果在任何一个数据帧中没有观察到与第一个相同的索引,那么我需要用空值 0 或 NA 填充这个变量。
a <- data.table(c(1,2,3,4,5), c(43,56,76,34,12))
b <- data.table(c(1,3,5,6), c(33,21,84,25))
为清楚起见,我将举例说明最后一帧应该发生什么。
我有一系列数据框,其中包含多个变量。我需要找到可用于对这些数据帧进行分组并将相同函数应用于其中一个变量的所有可能组合。在示例中,我使用了一个计算相关性的函数。接下来,我将每一对组合的结果组合成一个公共帧,其中记录了函数执行的结果以及它属于哪个对。现在我正在以一种相当笨拙的方式(如我的示例中)并寻找一种方法来以更快的速度执行这些操作,而无需如此多的代码。
a <- data.table(c(1,2,3,4), c(5,6,7,8))
b <- data.table(c(2,3,4,5), c(6,7,8,9))
c <- data.table(c(3,4,5,6), c(7,8,9,10))
a_a <- cor(a$V1, a$V1)
a_b <- cor(a$V1, b$V1)
a_c <- cor(a$V1, c$V1)
b_a <- cor(b$V1, a$V1)
b_b <- cor(b$V1, b$V1)
b_c <- cor(b$V1, c$V1)
c_a <- cor(c$V1, a$V1)
c_b <- cor(c$V1, b$V1)
c_c <- cor(c$V1, c$V1)
total <- rbind(a_a, a_b, a_c, b_a, b_b, b_c, c_a, c_b, c_c)
library(quantmod)
library(rusquant)
library(tseries)
library(timeDate)
startDate <- as.Date('2018-01-01')
endDate <- as.Date('2020-04-14')
tickers <- c("TATN", "TATNP")
getSymbols(tickers, src = 'Finam', period = '30min', from = startDate, to = endDate)
TATN <- data.table(time = index(TATN$TATN.Open), TATN$TATN.Open, TATN$TATN.Close)
TATNP <- data.table(time = index(TATNP$TATNP.Open), TATNP$TATNP.Open, TATNP$TATNP.Close)
我正在从金融下载股票报价,我面临丢失其中一种证券的一些数据的问题。在代码示例中,价格数据以 30 分钟为增量下载,因此,我得到不同长度的帧,因为其中一个帧中丢失了一个或多个报价,这导致接收到的数据长度不同例如,在我的代码中,股票代码 TATN 的长度为 10366 ,TATNP 的长度为 10364 ,分别掉了 2 个引号。
为了解决这个问题,我需要找到不匹配的数据,即一帧存在而另一帧不存在的时间索引,并将其删除,这样这个时间和这个时间对应的数据就不会在一次两个数据帧,但只有那些具有相同时间索引的报价。
我怎么解决这个问题?
表中数据引用示例
我有一个带有数字(正数和负数)的向量。我需要将向量的第二个元素添加到向量的第一个元素,然后将向量的第三个元素添加到第一个值的总和,然后将向量的第四个元素添加到前三个元素的总和向量,依此类推,直到向量结束。我怎样才能做得更好?