s <- split (x, x$factor)
s[[1]]
所以我希望能够将这些因子子集与lapply
一起使用。下面是模拟我试图做的模拟代码。
meanfunction <-lapply(s[[1]],function(x) colMeans(x[, c("col1","col2")]))
但它不起作用。所以我虽然我会聪明并试图欺骗R并绑定一个新变量t<-s[[1]]
,然后在函数中使用它,但唉它也不起作用。无论哪种方法,我都会得到相同的错误消息。
Error in x[, c("col1", "col2")] : incorrect number of dimensions
但是当整体评估时,代码工作得很好。有什么想法吗?谢谢。
编辑: x是一个包含4列的data.frame 字符,数字,数字,因子
答案 0 :(得分:1)
dplyr
是这类工作的绝佳选择,假设我正确理解你的目标。这是一个例子:
library(dplyr)
x = tbl_df(data.frame(factor = factor(c(rep("A", 3), rep("B", 4))), value = 1:7))
group_by(x, factor) %>% summarise(mean = mean(value))
您可以找到有关dplyr
here。