这是我的数据的简化显示:
我对德国如何在变量,人口,地区,识字率男性等方面的排名感兴趣。
我该怎么办?
答案 0 :(得分:1)
您似乎有一个数据框,其中一个变量是国家/地区的名称,其他变量是数字。要获得具有相似结构的易于重现的示例:从内置数据框mtcars
开始(详细信息请评估?mtcars
),然后运行以下两个命令:
mtcars$make <- row.names(mtcars)
row.names(mtcars) <- NULL
说您想获得Datsun 710
的排名(数据帧的第三行)。然后,您可以使用:
ranks <- apply(mtcars[,names(mtcars) != "make"],2,function(v) rank(v)[which(mtcars$make == "Datsun 710")])
结果变量如下:
> ranks
mpg cyl disp hp drat wt qsec vs am gear carb
24.5 6.0 6.0 7.0 20.0 7.0 23.0 25.5 26.0 21.5 4.0
在您的情况下,类似
ranks <- apply(df[,names(df) != "location_name"],2,function(v) rank(v)[which(df$location_name == "Germany")])
应该工作。