gpt4 book ai didi

r - 将字符列值转换为数据框中的二进制值

转载 作者:行者123 更新时间:2023-12-05 01:18:31 24 4
gpt4 key购买 nike

我的数据框中有一个类列,它包含值“Bad”和“Good”。我想将这些字符串分别替换为 0 和 1。

我尝试了以下方法:

 x = c("Bad", "Good", "Bad", "Bad", "Good")

factor(x)

factor(x, c(0, 1))

但是,它将数据集中的值转换为NA

factor(x, c(0, 1))

[1] <NA> <NA> <NA> <NA> <NA>`
Levels: 0 1`

最佳答案

一个方便的 tidyverse 方法是使用 dplyr 的 recode 函数。

df <- data.frame(x = c("Bad", "Good", "Bad", "Bad", "Good"))
df$x <- as.factor(df$x)

library(tidyverse)
df <- df %>%
mutate(x = recode(x,
"Bad" = "0",
"Good" = "1"))

假设您希望将其保留为因子列。如果您希望它是一个数字向量,您只需添加第二个 mutate 调用以将其转换为数字...编辑:小心将值转换为数字,而不是底层代码。

df <- df %>% 
mutate(x = recode(x,
"Bad" = "0",
"Good" = "1")) %>%
mutate(x = as.numeric(levels(x))[x])

关于r - 将字符列值转换为数据框中的二进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45218628/

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