如何在Data Frame中引用最后一行?动态Excel时序数据场景
获取动态时序数据框的最后一行
嘿,处理动态更新的Excel时序数据时,这种需求太常见了!我给你几个实用的方案,轻松搞定:
第一步:先清理无效的空行
因为你把读取范围设到了10000行,后面的空白行都会被读成全是NA的无效行,所以第一步得先把这些行过滤掉:
library(readxl) # 读取指定范围的数据 df <- read_excel("你的文件路径.xlsx", range = cell_rows(1:10000)) # 移除所有全为NA的行(只保留有有效数据的行) df_cleaned <- df[rowSums(is.na(df)) != ncol(df), ]
解释一下:rowSums(is.na(df))会计算每行的NA数量,不等于列数ncol(df)就说明这行至少有一个有效数据,保留下来。
第二步:获取最后一行
有了清理后的干净数据,获取最后一行有两种简单方式:
方式1:用tail()函数(最简洁)
tail()函数可以直接取数据框的最后n行,设置n=1就得到最后一行:
last_row <- tail(df_cleaned, 1)
方式2:用行数索引
先通过nrow()获取清理后数据框的总行数,再用索引定位最后一行:
last_row <- df_cleaned[nrow(df_cleaned), ]
额外小技巧:读取时自动识别有效行
如果你的Excel里有效数据是连续的(中间没有空行),其实可以不用手动指定range,让read_excel自动读取到最后一个有数据的行,这样连清理步骤都省了:
df <- read_excel("你的文件路径.xlsx") last_row <- tail(df, 1)
这样既省心,又能自动适配数据的动态更新~
内容的提问来源于stack exchange,提问作者bigjdawg43
相关产品推荐
相关产品推荐

