首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择占优势的b1值和计数( b2 )并使b2值列标题

如何选择占优势的b1值和计数( b2 )并使b2值列标题
EN

Stack Overflow用户
提问于 2014-03-10 00:37:04
回答 2查看 678关注 0票数 1

样本数据:

代码语言:javascript
复制
a <- as.data.frame(matrix(list(1,1,3,4,1,1,3,4,1,1,3,4,1,1,3,4,1,1,3,4),4,5)) 
b1 <-c(30,40,20,15) b2<-c("A","A","B","C")
b <-as.data.frame(cbind(b1,b2)) 
a.b<-cbind(a,b)

初始值:a.b

代码语言:javascript
复制
    row V1 V2 V3 V4 V5 b1 b2
    1  1  1  1  1  1 30  A
    2  1  1  1  1  1 40  A
    3  3  3  3  3  3 20  B
    4  4  4  4  4  4 15  C

我想看到的是V1,V2,V3,V4,V5,b1和max(b1),A,B,C应该有3行:

代码语言:javascript
复制
    row V1 V2 V3 V4 V5 b1 A B C
    1  1  1  1  1  1 40  2  0 0 
    3  3  3  3  3  3 20  0  1 0
    4  4  4  4  4  4 15  0  0 1

我该怎么做才能得到。我曾经想过聚集、铸造和重塑,但却遇到了困难。泰克斯。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-10 10:45:48

这看起来像一个(拆分(.))问题来了。未经测试并假设您不使用as.data.frame(cbind(.))

代码语言:javascript
复制
lapply(split(df, df[2:6]), function (d){
                    cbind( max( d[7]), table(d[8]) )})

不使用字符比较的原因是"4“> "15”返回TRUE。

票数 0
EN

Stack Overflow用户

发布于 2014-03-10 01:38:23

这不是小事一桩。

这是我的方法,它远不是完美的,但它应该足以让你开始:

代码语言:javascript
复制
first_part = aggregate(a.b[,1:6],by=list(a.b$b2),
              function(x) {y=as.factor(unlist(x));max(as.numeric(levels(y))[y])})
second_part = diag(by(a.b$b2,a.b$b2,function(x)length(x)))
colnames(second_part) = first_part[,1]
all = cbind(first_part[2:7], second_part)

它的工作是:

代码语言:javascript
复制
> all
  V1 V2 V3 V4 V5 b1 A B C
1  1  1  1  1  1 40 2 0 0
2  3  3  3  3  3 20 0 1 0
3  4  4  4  4  4 15 0 0 1

对其工作方式的解释:

第一行构造矩阵的第一部分:保留b1的最大值行。

代码语言:javascript
复制
> first_part
  Group.1 V1 V2 V3 V4 V5 b1
1       A  1  1  1  1  1 40
2       B  3  3  3  3  3 20
3       C  4  4  4  4  4 15

!”这个方法就是如此:它对所有同字母的行中的所有元素都应用了max函数。但是,在V1...V5中的值不同时,您没有指定要做什么。

第二行和第三行构成矩阵的第二部分:

代码语言:javascript
复制
     A B C
[1,] 2 0 0
[2,] 0 1 0
[3,] 0 0 1

总的来说,我相信有更好和更清洁的方法来做到这一点。如果你看到一个可能的改进,我总是很高兴学到一些新的东西:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22290225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档