Re: [问题] 多个变量的循环如何处理?

楼主: f496328mm (为什么会流泪)   2016-12-26 13:28:34
: 可能是因为我表达得不够清楚导致讨论的方向不够明确我在这里说声抱歉,
: 以下是我头脑清醒后想出来的data的处理方式
: X A1 A2 A3
: 1 member A 34 10 4
: 2 member B 18 90 64
: 3 member C 16 155 0
: 4 member D 9 202 1
: 5 member E 4 84 6
: 6 member F 0 50 4
: 7 member G 0 153 30
: 8 member H 0 0 30
: 9 member I 0 0 40
: 10 member J 0 0 14
: 11 member K 0 0 91
: 12 member L 0 0 0
: 13 member M 0 0 0
: 14 member N 0 0 0
: 15 member O 0 0 0
: 16 member P 0 0 0
: 17 member Q 0 0 0
: 18 member R 0 0 0
: 19 member S 0 0 0
: 20 member T 0 0 0
: 21 member U 0 0 0
: 22 member V 0 0 0
: 23 member W 0 0 0
: 24 member X 0 0 0
: 25 member Y 0 0 0
: 26 member Z 0 0 0
: 27 member AA 0 0 0
: 我主要是想求在我变量下最大的数对应到左边的名称
: 例如A1是member A 然后值是34接着A2是member D然后值是202
: 以下是我真正想要的解,个人写的步骤有点诡异还会跑出warnings
: 但总归是跑了理想的长相出来所以跟大家分享一下
: A <- cbind()
: B <- cbind()
: for (i in 2:271){
: colnames <- as.vector(X[data[,i] == max(data[,i])])
: A[i-1] <- colnames
: B[i-1] <- max(data[,i])
: }
: AB <- cbind(A,B)
: AB
: A B
: [1,] "member A" "34"
: [2,] "member D" "202"
: [3,] "member K" "91"
你给的data只有到这
所以我也做到这
: [4,] "member J" "56"
: [5,] "member E" "298"
: [6,] "member B" "318"
: 以上谢谢之前各位大大们的回答
max.id=function(x2,name){
value = as.character( name[ max(x2) == x2 ] )
return(list(value,max(x2)))
}
#如果有data,可以省去以下这些部分,这只是在生你的 data
#
作者: lovedmagic (EricZou)   2016-12-26 14:35:00
马上来实用看看,先谢过大大

Links booklink

Contact Us: admin [ a t ] ucptt.com