按行汇总数据帧R(最快方式!)

时间:2018-12-14 01:49:51

标签: r performance dataframe row

当前,我正在使用for循环来存储如下所示的行总和

dat <- c(1,2,3,4)
dat1 <- c(1,2,3,4)
dat2 <-c(1,2,3,4)

df <- data.frame(dat,dat1,dat2)


sum <- NULL
for (i in 1:nrow(df)){
  i <- sum(df[i,],na.rm=T)
  sum <- rbind(sum,i)

最快的方法是什么,使结构与我的示例求和保持相同

1 个答案:

答案 0 :(得分:2)

我们可以使用rowSums,这比循环遍历行要快得多,因为rowSums已针对此类操作进行矢量化优化

matrix(rowSums(df, na.rm = TRUE))