通过R中的列名称组聚合矩阵(或data.frame) [英] aggregate a matrix (or data.frame) by column name groups in R

查看:107
本文介绍了通过R中的列名称组聚合矩阵(或data.frame)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个大矩阵,大约有3000列x 3000行.我想汇总(计算平均值)每一行的列名称分组.每列的命名都与此方法类似...(并且以随机顺序)

I have a large matrix with about 3000 columns x 3000 rows. I'd like to aggregate (calculate the mean) grouped by column names for every row. Each column is named similar to this method...(and in random order)

 Tree Tree House House Tree Car Car House

我需要数据结果(每行平均值的汇总)具有以下列:

I would need the data result (aggregation of mean of every row) to have the following columns:

  Tree House Car

  • (至少对我来说)棘手的部分是我不知道所有列名,而且它们都是随机排列的!
  • 推荐答案

    我想出了自己的解决方案.我首先只是转置矩阵(称为test_mean),以使列变为行,然后:

    I came up with my own solution. I first just transpose the matrix (called test_mean) so the columns become rows,then:

    # removing numbers from rownames
    rownames(test_mean)<-gsub("[0-9.]","",rownames(test_mean))
    
    
    #aggregate by rownames
    test_mean<-aggregate(test_mean, by=list(rownames(test_mean)), FUN=mean)
    

    这篇关于通过R中的列名称组聚合矩阵(或data.frame)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆