假设我有一个数据集X,其维度为100 x 10。 我想对每列应用一组函数,并将结果保存在具有相同列标题的新数据框中。
实施例
M <- matrix(rexp(200, rate=.1), ncol=20)
M_df <- as.data.frame(M)
row1 <- apply(M_df,2,mean)
row2 <- apply(M_df,2,var)
row3 <- apply(M_df,2,sum)
我想创建一个由row1,row2和row3组成的新矩阵 它与M_df具有相同的列标题。
谢谢! 最大
答案 0 :(得分:3)
试试这个:
apply(M_df,2,function(x) c(mean = mean(x),var = var(x),sum = sum(x)))
尽管如此,请记住apply
做的第一件事就是将M_df
转换回矩阵,因此在真正需要之前将其转换为数据框并没有多大意义。< / p>