当前位置:  开发笔记 > 编程语言 > 正文

按条件跨多个列交换值

如何解决《按条件跨多个列交换值》经验,为你挑选了1个好方法。



1> LyzandeR..:

这是使用它的一种方法lapply:

#subsetting the df to just replace the elements we need
df[df$IDX==FALSE, -1] <- lapply(df[df$IDX==FALSE, -1], function(x) {
  #chartr is translates specific characters to different ones
  #here it converts 0s -> 1s and vice versa
  chartr("01", "10", x)
})

输出:

> df
    IDX  D1  D2  D3  D4  D5  D6  D7
1 FALSE 1/1 0/0 1/1 1/0 0/0 1/1 1/1
2 FALSE 0/0 1/1 1/1 1/1 1/1 0/0 1/1
3  TRUE 0/0 0/0 0/0 0/0 0/0 0/0 0/0
4  TRUE 0/1 0/1 0/0 1/1 0/1 0/0 0/1
5 FALSE 0/0 1/0 0/0 1/1 1/0 1/1 1/1

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有