【问题标题】:Add rows to variable to create a table - RStudio将行添加到变量以创建表 - RStudio
【发布时间】:2020-03-08 15:28:29
【问题描述】:

我正在尝试在 RStudio 上创建股票之间的相关矩阵。每只股票在某些日期都有一些空 (NA) 数据,并在不同日期开始时间序列。在创建矩阵之前,我需要创建一个包含所有变量(股票价格)的表(使用 data.frame 或其他选项),但这是不可能的,因为每个变量都有不同数量的行。有两种可能的答案: 1)如何以创建表的方式将NA数据添加到所有缺少行的变量中?或者; 2) 如何只保留包含相关矩阵所需的所有变量数据的行?

【问题讨论】:

  • 如果您提供了一个代表会有所帮助:reprex.tidyverse.org。您可能需要查看 na.omit 函数,以从数据框中删除所有 NA 数据。

标签: 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

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 2023-03-23
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多