R 使用循环替换多个列

R 使用循环替换多个列,r,loops,for-loop,R,Loops,For Loop,我有这样一个df: Class_A Class_B 78 50 40 60 30 70 我想要的结果是 Class_A Class_B RankClass_A RankClass_B 78 50 1 3 40 60 2 2 30 70 3 1 基本上,我可以通过使用mutat

我有这样一个df:

Class_A  Class_B
   78       50
   40       60 
   30       70
我想要的结果是

Class_A  Class_B  RankClass_A  RankClass_B
   78       50       1            3
   40       60       2            2
   30       70       3            1
基本上,我可以通过使用mutate函数创建两个或多个col。然而,当我把它放在一个循环中以创建更多的COL时,代码就不起作用了

这是我的密码

label<-c('RankClass_A',"RankClass_B")
for (i in 1:2){
  for (k in 1:2){ 
    mutate(df,label[i]=dense_rank(desc(df[k])
  }
}
我们可以使用mutate_all创建“Rank”列

df %>% 
    mutate_all(funs(Rank = rank(-.)))
#    Class_A Class_B Class_A_Rank Class_B_Rank
#1      78      50            1            3
#2      40      60            2            2
#3      30      70            3            1
我们可以使用mutate_all创建“Rank”列

df %>% 
    mutate_all(funs(Rank = rank(-.)))
#    Class_A Class_B Class_A_Rank Class_B_Rank
#1      78      50            1            3
#2      40      60            2            2
#3      30      70            3            1

也可以添加一个基本的R选项。lapplydf、functionx秩xMaybe还可以添加一个基本R选项。lapplydf,functionx rank x感谢您,但我不想创建与新数据帧无关的所有COL。有没有办法通过使用mutate_all?transformdf,rank=lappy df,rank选择一些col谢谢,但我不想创建与新数据帧无关的所有col。有没有办法通过使用mutate_all选择一些col?transformdf,rank=lappy df,rank