引用数据框中最后使用的行

时间:2018-04-16 17:49:56

标签: r

我在以前提出的问题中找不到答案,但我相信这很简单。

我有以下两行代码,它们从特定范围内的excel中获取数据(使用readxl)。范围本身仅通过excel文档中的第2589行,但它将动态更新(它是一个时间序列)并确保我捕获不同的观察(行),因为它们被添加,我' ve在read_excel范围参数中包含了10000行。

最后,我想在这些数据上运行图表,但其中一个关键部分是识别上次使用的行,而无需手动更新最新日期的代码行。我尝试过使用nrow但无济于事。

Raw_Index_History <- read_excel("RData.xlsx", range = "ReturnsA6:P10000",     col_names = TRUE)
Raw_Index_History <- Raw_Index_History[nrow(Raw_Index_History),]

有人有任何想法或建议吗?非常感谢。

2 个答案:

答案 0 :(得分:0)

如果您包含示例,则更容易回答您的问题。 不知道你的数据看起来像答案可能会有点模糊。

您的数据是否包含NA?如果不是,应该直接用

删除空行
  

na.omit(Raw_Index_History)

您似乎也可以控制Excel电子表格。因此,如果您的数据确实包含NA,您的空行中可能会有一些默认值,一旦记录新数据点就会被覆盖。这样您就可以相应地过滤数据框。

  

Raw_Index_History [!grepl(&#34; place_holder&#34;,Raw_Index_History $ column_with_placeholder),]

答案 1 :(得分:0)

如果您希望电子表格中的数据增长,则只能指定要包含的列,而不是指定的边界。

像这样......

Raw_Index_History <- read_excel("RData.xlsx", 
                                sheet = 1,
                                range = cell_cols("A:P"),  # Only cols, no rows
                                col_names = TRUE)

每次运行代码时,R都会从A:P之间的列中提取数据,直到最后一个填充的行。

这将是一种更优雅的用例方法。 (考虑一下,当你的数据将来超过10000行时你会做什么)