组上多个变量的多个聚合

时间:2017-07-07 21:15:59

标签: r data.table

我有一个data.table,并希望在多个列上运行多个聚合,同时将表分组到另一个变量上。我尝试过以下方法:

library(data.table)

DT <- data.table(a = 1:10,
                 b = 10:1,
                 group = rep(1:2, each=5))

aggs <- function(x) list(mean = mean(x), sd = sd(x))

DT[, lapply(.SD, aggs), .(group), .SDcols = c('a', 'b')]

这不太有效,因为我需要将names()作为列,或者将输出拆分为列 - 比如a.meanb.mean等等:< / p>

   group        a        b
1:     1        3        8
2:     1 1.581139 1.581139
3:     2        8        3
4:     2 1.581139 1.581139

1 个答案:

答案 0 :(得分:1)

你很接近,错过了一个额外的 group a.mean a.sd b.mean b.sd 1: 1 3 1.581139 8 1.581139 2: 2 8 1.581139 3 1.581139 来按照你想要的方式投射结果:

android:layout_width="44dp"

,并提供:

    <ImageView
    android:id="@+id/locationImageView"
    android:layout_width="44dp"
    android:layout_height="16dp"
    android:layout_centerVertical="true"
    android:layout_marginStart="4dp"
    android:layout_toEndOf="@id/locationText"
    android:adjustViewBounds="true"
    android:scaleType="fitStart"
    android:src="@drawable/icn_edit_small_white"/>