我有一个数据框df。我想将数据框中所有的零替换为一,所有的一替换为零。或者总的来说,如果我需要找到某个值(比如一)并用其他值替换该值,最好的方法是什么?
a b
1 1 0
2 0 1
3 1 0
4 0 0
+
。+(!df)
# a b
#1 0 1
#2 1 0
#3 0 1
#4 1 1
1s
是怎么处理的?使用replace(df, !df, 6)
。 - akruncase_when
或者if_else
。在dplyr
中的一个选项是df %>% mutate_all(funs(case_when(.==1~5L, .==0 ~ 6L, TRUE ~.)))
或者在base R
中,lapply(df, function(x) ifelse(x == 1, 5, ifelse(x == 0, 6, x)))
。这取决于你要替换多少个值。通常的方法是键/值对,然后对许多值进行替换。 - akrunmydata=data.frame(a=c(1,0,1,0),b=c(0,1,0,0));
psych::reverse.code(c(-1,-1),mydata)
1 - df
(不确定如何在 R 中实现 :p) - cs95abs(df - 1)
。 @cᴏʟᴅsᴘᴇᴇᴅ - Ronak Shahif
)语句在R中替换数据框中的值 或更一般地说是字典样式替换多个项目。 - Ronak Shah