R 用真/假因子替换0/1列

R 用真/假因子替换0/1列,r,R,我希望以编程方式将值为0或1的列转换为因子。我想通过检查每列中的不同值来实现这一点,然后在不同值为0和1的情况下使用as.factor 我想知道是否有更聪明的方法。我计划在函数中使用它 我想用真/假因子替换0/1因子 这是我的数据 credit$int_coded_factor <- rep(c(0, 1, 1, 1, 0), 100) credit$int\u coded\u factor您可以尝试: library(dplyr) df1 <- df %>% mutat

我希望以编程方式将值为0或1的列转换为因子。我想通过检查每列中的不同值来实现这一点,然后在不同值为0和1的情况下使用
as.factor

我想知道是否有更聪明的方法。我计划在函数中使用它

我想用真/假因子替换0/1因子

这是我的数据

credit$int_coded_factor <-
  rep(c(0, 1, 1, 1, 0), 100)
credit$int\u coded\u factor您可以尝试:

library(dplyr)
df1 <- df %>% mutate(across(where(~all(. %in% c(0, 1))), factor))
#Using `mutate_if` : 
#df1 <- df %>% mutate_if(~all(. %in% c(0, 1)), factor)
str(df1)

#'data.frame':  6 obs. of  3 variables:
# $ a: int  0 1 2 3 4 5
# $ b: Factor w/ 2 levels "0","1": 2 1 1 2 1 2
# $ c: chr  "a" "b" "c" "d" ...
库(dplyr)
df1%突变(跨越(其中(~all(.%在%c(0,1))中),因子))
#使用“mutate\u if`:
#df1%变异_如果(~all(.%在%c(0,1))中),因子)
str(df1)
#“data.frame”:6个obs。共有3个变量:
#$a:INT0 1 2 3 4 5
#$b:系数w/2级“0”,“1”:2 1
#$c:chr“a”“b”“c”“d”。。。
数据

df <- data.frame(a = 0:5, b = c(1, 0, 0, 1, 0, 1), c = letters[1:6])
str(df)
#'data.frame':  6 obs. of  3 variables:
# $ a: int  0 1 2 3 4 5
# $ b: num  1 0 0 1 0 1
# $ c: chr  "a" "b" "c" "d" ...
df您可以尝试:

library(dplyr)
df1 <- df %>% mutate(across(where(~all(. %in% c(0, 1))), factor))
#Using `mutate_if` : 
#df1 <- df %>% mutate_if(~all(. %in% c(0, 1)), factor)
str(df1)

#'data.frame':  6 obs. of  3 variables:
# $ a: int  0 1 2 3 4 5
# $ b: Factor w/ 2 levels "0","1": 2 1 1 2 1 2
# $ c: chr  "a" "b" "c" "d" ...
库(dplyr)
df1%突变(跨越(其中(~all(.%在%c(0,1))中),因子))
#使用“mutate\u if`:
#df1%变异_如果(~all(.%在%c(0,1))中),因子)
str(df1)
#“data.frame”:6个obs。共有3个变量:
#$a:INT0 1 2 3 4 5
#$b:系数w/2级“0”,“1”:2 1
#$c:chr“a”“b”“c”“d”。。。
数据

df <- data.frame(a = 0:5, b = c(1, 0, 0, 1, 0, 1), c = letters[1:6])
str(df)
#'data.frame':  6 obs. of  3 variables:
# $ a: int  0 1 2 3 4 5
# $ b: num  1 0 0 1 0 1
# $ c: chr  "a" "b" "c" "d" ...

df我不确定我是否理解你的要求。如果您只是有一个数据框,其中包含要转换为因子的特定列,那么这应该可以:

num <- floor(runif(10000, max = 2))

fact <- as.factor(num)

num我不确定我是否理解你的要求。如果您只是有一个数据框,其中包含要转换为因子的特定列,那么这应该可以:

num <- floor(runif(10000, max = 2))

fact <- as.factor(num)

num如果您在预期输出的同时添加一个示例,这将非常有用。如果您在预期输出的同时添加一个示例,这将非常有用。我们可以用TRUE/FALSE替换这些类型的因子吗?这非常有用!我更新了我的问题,因为这个答案有助于澄清我的想法你可以做
df%>%变异(跨越(~all(.%in%c(0,1)),因子,标签=c(FALSE,TRUE))
TRUE
/
FALSE
太棒了!这太好了。我们可以用真/假来代替这些类型的因素吗?这非常有用!我更新了我的问题,因为这个答案有助于澄清我的想法你可以做
df%>%变异(跨越(~all(.%in%c(0,1)),因子,标签=c(FALSE,TRUE))
TRUE
/
FALSE
太棒了!这太棒了