【问题标题】:How to replace Ones with Zeros and Zeros with Ones in a dataframe [duplicate]如何在数据框中用零替换一个和用一个替换零[重复]
【发布时间】:2017-12-29 06:44:32
【问题描述】:

我有一个数据框 df。我想将数据框中的所有零替换为一,并将所有零替换为零。或者一般来说,如果我必须找到一些值(比如一个)并用其他值替换该值,那么最好的方法是什么?

  a b
1 1 0
2 0 1
3 1 0
4 0 0

【问题讨论】:

标签: r dataframe replace


【解决方案1】:

代码高尔夫将否定数据集并使用+

+(!df)
#  a b
#1 0 1
#2 1 0
#3 0 1
#4 1 1

【讨论】:

  • @ 谢谢,但在一般情况下,如果我必须用一个值(例如 6)替换所有零,在这种情况下该怎么办?
  • @yome 1s 怎么样?使用replace(df, !df, 6)
  • 具有另一个特定值的 1s 比如说 5?
  • @yome 如果要替换很多值,可以使用case_whenif_else dplyr 中的一个选项df %>% mutate_all(funs(case_when(.==1~5L, .==0 ~ 6L, TRUE ~.)))base Rlapply(df, function(x) ifelse(x == 1, 5, ifelse(x == 0, 6, x))) 这取决于关于要替换多少个值。一种通用的方法是键/值对,然后替换许多值
  • 你能帮忙回答这个问题吗? stackoverflow.com/questions/48019176/…
【解决方案2】:
mydata=data.frame(a=c(1,0,1,0),b=c(0,1,0,0));
psych::reverse.code(c(-1,-1),mydata)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-08
    • 2021-05-05
    • 2022-01-23
    • 2018-01-23
    • 1970-01-01
    • 2011-12-31
    • 2020-11-07
    • 2022-10-05
    相关资源
    最近更新 更多