首页 > 解决方案 > 将列中所有项目的平方添加为R数据框中的一行

问题描述

我有一个如下所示的数据框,其中更一般地包含 3 行或 n 行。我想添加第 4 行或第 n+1 行,其中包含该列所有项目的平方和。

x<-data.frame("a" = c(2,3,4),"b" =c(3,4,5))
> x
  a b
1 2 3
2 3 4
3 4 5

在上面的例子中,第 4 行应该分别包含 29 和 50 的值。

标签: rdataframe

解决方案


一个选项是

library(dplyr)
x %>% 
   summarise_all(~ sum(.^2)) %>%
   bind_rows(x, .)
#.  a  b
#1  2  3
#2  3  4
#3  4  5
#4 29 50

或在base R

rbind(x, colSums(x^2))

推荐阅读