gpt4 book ai didi

r - 如何用列名替换某些值

转载 作者:行者123 更新时间:2023-12-04 12:29:52 24 4
gpt4 key购买 nike

我在 R 中有一个下表

df <- data.frame('a' = c(1,0,0,1,0),
'b' = c(1,0,0,1,0),
'c' = c(1,1,0,1,1))
df
a b c
1 1 1 1
2 0 0 1
3 0 0 0
4 1 1 1
4 0 0 1

我想要的是在行等于 1 时用列名替换行值。输出将是这样的:
   a  b  c
1 a b c
2 0 0 c
3 0 0 0
4 a b c
4 0 0 c

我怎样才能在 R 中做到这一点?谢谢。

最佳答案

我会用 Mapreplace :

df[] <- Map(function(n, x) replace(x, x == 1, n), names(df), df)
df
# a b c
# 1 a b c
# 2 0 0 c
# 3 0 0 0
# 4 a b c
# 5 0 0 c

关于r - 如何用列名替换某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50235510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com