R语言中对指定单元格求和并新增行到dataframe的方法咨询
R语言实现指定行计算后追加新行到DataFrame
实现代码
首先构造示例数据:
df <- data.frame( col1 = c(3, 2, 1), col2 = c(7, 4, 5), col3 = c("a", "b", "c"), stringsAsFactors = FALSE )
固定列写法(适配当前示例场景)
# 提取最后两行待计算数据 target_rows <- tail(df, 2) # 按规则生成新行 new_row <- data.frame( col1 = sum(target_rows$col1), col2 = sum(target_rows$col2), col3 = paste(target_rows$col3, collapse = "&"), stringsAsFactors = FALSE ) # 追加到原数据末尾 result <- rbind(df, new_row)
通用写法(适配多列、列名不固定场景)
不需要手动指定每一列的处理逻辑,自动按列类型处理:
target_rows <- tail(df, 2) new_row <- lapply(target_rows, function(col) { if (is.numeric(col)) return(sum(col)) if (is.character(col)) return(paste(col, collapse = "&")) }) |> data.frame(stringsAsFactors = FALSE) result <- rbind(df, new_row)
输出结果验证
执行后result的内容和期望输出完全一致:
| col1 | col2 | col3 |
|---|---|---|
| 3 | 7 | a |
| 2 | 4 | b |
| 1 | 5 | c |
| 3 | 9 | b&c |
内容的提问来源于stack exchange,提问作者jahrue
相关产品推荐
相关产品推荐

