r - 改变与列名匹配的值

标签 r

从下面的数据框中,如果 Name 列与列名匹配,我试图将 (AC, BAT,REC) 的相应值带到 New_Mutate 列。

df1 <-  data.frame(AC=c(1.463437e-04,1.023486e-04,1.584040e-05 ),
                   BAT = c(6.555388e-05,5.471379e-01,6.025364e-06),
                   REC = c(6.541157e-05,9.590567e-05,1.581244e-01),
                   Name = c("BAT", "AC", "REC"))
>df1
            AC          BAT          REC Name
1 0.0001463437 6.555388e-05 6.541157e-05  BAT
2 0.0001023486 5.471379e-01 9.590567e-05   AC
3 0.0000158404 6.025364e-06 1.581244e-01  REC

预期输出:
       AC                       BAT          REC           Name     New_Mutate    
1   1.463437e-04             6.555388e-05 6.541157e-05      BAT     6.555388e-05 
2   1.023486e-04             5.471379e-01 9.590567e-05      AC      1.023486e-04
3   1.584040e-05             6.025364e-06 1.581244e-01      REC     1.581244e-01

最佳答案

df1 %>% mutate(new_c = (.)[cbind(row_number(), match(Name, names(.)))])
#            AC          BAT          REC Name        new_c
#1 0.0001463437 6.555388e-05 6.541157e-05  BAT 6.555388e-05
#2 0.0001023486 5.471379e-01 9.590567e-05   AC 0.0001023486
#3 0.0000158404 6.025364e-06 1.581244e-01  REC 1.581244e-01

关于r - 改变与列名匹配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58980276/

相关文章:

r - 一次汇总多个变量一组

r - 如何在ggplot2中为相同的美学设置多个图例?

r - 如何对具有相同名称的列表元素求和?

r - R 中任何简单的 EigenFaces 分类代码

r - 如何在 R 中对非双数进行舍入?

r - 识别 GPS 数据中的 24 小时周期

r - 计算加权 Logit 模型的边际效应

r - 从 R 中的十六进制输入获取单一颜色名称

R Shiny 从已检查的数据表中挑选和存​​储收藏夹

r - 将多个二进制列转换为单个分类列