在R/dplyr中如何基于行计数条件添加缺失行?
条件化向DataFrame添加缺失行的实现方法
爬取网页得到的DataFrame固定为1列8行,但偶尔会缺失第6行,导致后续数据顺序错乱(原第7、8行挤到第6、7行的位置)。要实现仅当DataFrame行数少于8时,自动在第6行位置插入NA占位行,可以用以下方式实现:
解决方案代码
# 模拟爬取得到的DataFrame(可能为7行或8行) value <- c(10, 43, 67, 89, 5, 28, 99) df <- data.frame(value) # 条件化插入缺失行 library(dplyr) # 需先加载dplyr包 if (nrow(df) < 8) { df <- df %>% add_row(value = NA, .before = 6) }
代码说明
- 用
nrow(df)获取DataFrame的行数,判断是否小于8; - 仅当满足行数不足8的条件时,才执行
add_row操作,在第6行的位置插入值为NA的占位行; - 如果DataFrame已经是8行,则不会执行任何操作,避免多余修改。
内容的提问来源于stack exchange,提问作者Seth Brundle
相关产品推荐
相关产品推荐

