【问题标题】:Add rows to variable to create a table - RStudio将行添加到变量以创建表 - RStudio
【发布时间】:2020-03-08 15:28:29
【问题描述】:
我正在尝试在 RStudio 上创建股票之间的相关矩阵。每只股票在某些日期都有一些空 (NA) 数据,并在不同日期开始时间序列。在创建矩阵之前,我需要创建一个包含所有变量(股票价格)的表(使用 data.frame 或其他选项),但这是不可能的,因为每个变量都有不同数量的行。有两种可能的答案:
1)如何以创建表的方式将NA数据添加到所有缺少行的变量中?或者;
2) 如何只保留包含相关矩阵所需的所有变量数据的行?
【问题讨论】:
标签:
r
dataframe
datatable
rows
【解决方案1】:
此解决方案提供了 1) 的答案:
说明性数据:
set.seed(123)
stock1 <- sample(50:100, 10)
stock2 <- sample(50:100, 5)
解决方案:
为了将dataframe变量剪裁成相同的长度,可以以上面示例数据中最长向量stock1的长度为参考点,从中减去其他向量的长度,得到数字必要的NA。您可以使用rep 连接较短的向量加上NA 行数:
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