我正在尝试在RStudio的股票之间建立一个相关矩阵。每只股票在某些日期都有一些空(NA)数据,并在不同的日期开始时间序列。在创建矩阵之前,我需要创建一个包含所有变量(股票价格)的表(带有data.frame或其他选项),但是这是不可能的,因为每个行都有不同的行数。有两个可能的答案:1)如何以一种创建表的方式将NA数据添加到所有缺少行的变量中?要么;2)如何只保留包含相关矩阵所需的所有变量的数据的行?
此解决方案提供了对1)的答案:
说明性数据:
set.seed(123)
stock1 <- sample(50:100, 10)
stock2 <- sample(50:100, 5)
SOLUTION:
要将数据帧变量调整为相同的长度,您可以将上面说明性数据中最长向量的长度stock1
作为参考点,从中减去其他向量的长度以获得必要的NA
。您可以使用NA
连接较短的向量和rep
行的数量:
df <- data.frame(
Stock_1 = stock1,
Stock_2 = c(stock2, rep(NA, length(stock1) - length(stock2)))
)
结果:
df
Stock_1 Stock_2
1 64 98
2 89 72
3 70 83
4 92 77
5 94 54
6 52 NA
7 73 NA
8 99 NA
9 96 NA
10 69 NA