将 value 替换为其各自列的名称

Dal*_*ube 5 r dataframe

我有一个数据框:

Code    401k    CVS
101A            true
231N    true
FD54    true
99JB    
85F4    true
Run Code Online (Sandbox Code Playgroud)

我正在尝试用相应的列名(例如“401k”)替换“真”字符值。这是我想要的输出:

Code    401k    CVS
101A            CVS
231N    401k
FD54    401k
99JB    
85F4    401k
Run Code Online (Sandbox Code Playgroud)

Dal*_*ube 5

下面的编码使我能够将每个“真”值(字符)替换为其各自的列名。

##Replace every "true" value with its respective column name
w <- which(df=="true",arr.ind=TRUE)
df[w] <- names(df)[w[,"col"]]
Run Code Online (Sandbox Code Playgroud)