我使用R來分析我的masterthesis。不幸的是,我陷入了這個問題:R中多列的每行的排名
我想計算一個新變量,它計算許多變量中每行一個變量的排名。
例子:
V1 V2 V3 NewVariable_V1 NewVariable_V2 NewVariable_V3
11 21 35 3 2 1
22 12 66 2 3 1
44 22 12 1 2 3
有誰知道該怎麼做? 我很樂意提供幫助。
我使用R來分析我的masterthesis。不幸的是,我陷入了這個問題:R中多列的每行的排名
我想計算一個新變量,它計算許多變量中每行一個變量的排名。
例子:
V1 V2 V3 NewVariable_V1 NewVariable_V2 NewVariable_V3
11 21 35 3 2 1
22 12 66 2 3 1
44 22 12 1 2 3
有誰知道該怎麼做? 我很樂意提供幫助。
。爲了獲得降序,首先否定data.frame。
data.frame(d, t(apply(-d, 1, rank, ties.method='min')))
# V1 V2 V3 V1.1 V2.1 V3.1
# 1 11 21 35 3 2 1
# 2 22 12 66 2 3 1
# 3 44 22 12 1 2 3
你的方法是合適的。 –
太棒了,像魅力一樣工作!非常感謝! – teeglaze
?rank
看看如何處理關係。
x <- cbind(a=c(11,22,44),
b=c(21,12,22),
c=c(35,66,12))
> x
a b c
[1,] 11 21 35
[2,] 22 12 66
[3,] 44 22 12
的行
apply(-x, 1, rank)
[,1] [,2] [,3]
a 3 2 1
b 2 3 2
c 1 1 3
排名上你要找的排名列
apply(x, 2, rank)
a b c
[1,] 3 1 3
[2,] 2 2 1
[3,] 1 3 2
你想如何處理關係? –
ties.method =「min」 – teeglaze