我在为一个长这样的数据集编写函数时遇到了困难:
identifier age occupation
pers1 18 student
pers2 45 teacher
pers3 65 retired
我尝试编写一个函数,能够完成以下操作:
- 将我的变量按数字和分类变量排序
- 对于数字变量,给出均值、最小值和最大值
- 对于分类变量,给出频率表
- 以“漂亮”的形式(数据框、向量或表)返回点(2)和(3)
describe<- function(x)
{ if (is.numeric(x)) { mean <- mean(x)
min <- min(x)
max <- max(x)
d <- data.frame(mean, min, max)}
else { factor <- table(x) }
}
stats <- lapply(data, describe)
问题: 我的问题是,现在,“stats”是一个难以阅读、难以导出到Excel或共享的列表。我不知道如何使列表“stats”更具可读性。 或者,也许有一种更好的方法来构建函数“describe”吗? 非常感谢任何关于如何解决这两个问题的想法!
summary(data)[c(1,4,6),]
怎么样? - G5Wsapply
代替。请查看其帮助页面,参数simplify
。 - Rui Barradas