gpt4 book ai didi

r - 将多个函数应用于 data.table 中的多列

转载 作者:行者123 更新时间:2023-12-03 10:11:57 25 4
gpt4 key购买 nike

我正在尝试将多个函数应用于 data.table 的多列.例子:

DT <- data.table("a"=1:5,
"b"=2:6,
"c"=3:7)

假设我想获得列的平均值和中位数 ab .
这有效:
stats <- DT[,.(mean_a=mean(a),
median_a=median(a),
mean_b=mean(b),
median_b=median(b))]

但是太重复了。是否有使用 .SDcols 获得类似结果的好方法?和 lapply ?

最佳答案

我通常会这样做:

my.summary = function(x) list(mean = mean(x), median = median(x))

DT[, unlist(lapply(.SD, my.summary)), .SDcols = c('a', 'b')]
#a.mean a.median b.mean b.median
# 3 3 4 4

关于r - 将多个函数应用于 data.table 中的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29620783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com