R [lapply + aggregate]中单独汇总变量

时间:2015-03-05 16:43:08

标签: r aggregate lapply

我有data.frame一组记录和变量不同的测量值。我想创建一个新的data.frame,其中包含每个测量具有特定测量值的记录数量。基本上我要做的是:

record <- c("r1", "r2", "r3") 
firstMeasurement <- c(15, 10, 10) 
secondMeasurement <- c(2, 4, 2) 
df <- data.frame(record, firstMeasurement, secondMeasurement)

measurements <- c(colnames(df[2:3]))
measuramentsAggregate <- lapply(measurements, function(i) 
                  aggregate(record~i, df, FUN=length))

我得到了非常有趣的错误,我不明白为什么。任何人都可以帮助我吗?

非常感谢!

2 个答案:

答案 0 :(得分:1)

如果您想要具有特定firstMeasurement的记录数:

table(df$firstMeasurement)

同样适用于secondMeasurement。我不确定您尝试创建的data.frame可能看起来如何。

答案 1 :(得分:1)

我认为这就是你想要的

library(dplyr)
agg.measurements <- df %>% group_by(firstMeasurement) %>% summarise(records=n())

那应该为那个做。