根据功能创建矩阵

时间:2019-10-17 10:57:00

标签: r function matrix statistics

到目前为止,我找不到解决方案... 我有7列的数据框X。我想从第6列和第7列中获取统计数据,这些数据以矩阵形式收集。对于该问题,我想使用一行代码。我需要一个函数,该函数需要数据框X的第6列和第7列,并计算均值,var,sd,...

我使用的代码是这样的:

matrix(c(mean(X$6), mean(X$6, trim = 0.05), var(X$6), sd(X$6),
         mean(X$7), mean(X$7, trim = 0.05), var(X$7), sd(X$7)),
         nr = 4, dimnames = list(c("mean", "meanTrim", "var", "sd"), 
                                 c("WorkTime", "TransTime")))

它有效,但似乎很尴尬。您知道更短的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

Y <- sapply(X[, 6:7], function(i) c(mean(i), mean(i, trim = 0.05), var(i), sd(i)))
dimnames(Y) <- list(c("mean", "meanTrim", "var", "sd"), c("WorkTime", "TransTime"))