我有一個帶有前兩列字符的資料框,其余的加倍我想在最后添加一行,在前兩列中包含單詞“Total”并計算其余列值的總和,例如讓我們使用
segment<- c('seg1', 'seg1', 'seg2', 'seg2', 'seg3', 'seg3')
subSegment<- c('subseg1', 'subseg2', 'subseg1', 'subseg2', 'subseg1', 'subseg2')
var.1<- c(100, 20, 30, 50, 40, 40)
var.2<- c(200, 30, 30, 70, 30, 140)
var.3<- c(50, 50, 40, 20, 30, 40)
var.4<- c(60, 50, 35, 53, 42, 20)
df<- data.frame(segment, subSegment, var.1, var.2, var.3, var.4)
我就是這樣做的
df%>% #now need to add a row with totals
add_row( segment="Total",subSegment="Total", var.1 = sum(.$var.1), var.2= sum(.$var.2), var.3 = sum(.$var.3), var.4 = sum(.$var.4))
顯然名稱和值只是示例,但在我的實際問題中,我有超過 8 個變數,以這種方式做事是浪費時間我正在尋找一個更通用的解決方案,它只是說 add_row 與前 2 列“總計” ....=sum(.$....) 對于第三個之后的所有列。
也許使用某種東西: sapply(df[c(3:ncol(df))]
uj5u.com熱心網友回復:
看門人包已經準備好了:
library(janitor)
df %>%
adorn_totals()
uj5u.com熱心網友回復:
df<- rbind(df, c("Total", "Total", colSums(df[,3:ncol(df)], na.rm = TRUE)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/421083.html
標籤:
