如何根据R中的关键字更改变量因子的名称?
我有一个变量,其中有几个级别包含“游戏”作为关键字。我不能手动更改变量的级别。相反,我希望将包含游戏的所有级别更改为一个通用级别如何根据R中的关键字更改变量因子的名称?,r,R,我有一个变量,其中有几个级别包含“游戏”作为关键字。我不能手动更改变量的级别。相反,我希望将包含游戏的所有级别更改为一个通用级别 For example Category Games x Games Y Games Z Entertainment What I need is Category Games Games Games Entertainment Thanks 我们可以使用sub匹配一个或多个空格(\\s+),后跟其他字符,在“类别”列中将其替换为空白(“) df1$Cat
For example
Category
Games x
Games Y
Games Z
Entertainment
What I need is
Category
Games
Games
Games
Entertainment
Thanks
我们可以使用
sub
匹配一个或多个空格(\\s+
),后跟其他字符,在“类别”列中将其替换为空白(“
)
df1$Category <- sub("\\s+.*", "", df1$Category)
df1$Category
#[1] "Games" "Games" "Games" "Entertainment"
df1$Category另一种方法是使用package,一个用于处理因子的CRAN包。
我将使用原始data.frame的副本df2
library(forcats)
df2 <- df
new_games <- as.character(df$Category[grep("Games", df$Category)])
df2$Category <- fct_collapse(df$Category, Games = new_games)
df2
# Category
#1 Games
#2 Games
#3 Games
#4 Entertainment
库(用于猫)
df2@PraveenChougale您之前说过它正在工作。在运行该行之后,它会给出NULLlevels@PraveenChougale你能像我更新一样显示示例的dput
吗?我在示例中显示的数据是样本数据,实际上我有53个级别。我不能将所有这些手动放入code@PraveenChougale能否显示级别(df1$类别)
library(forcats)
df2 <- df
new_games <- as.character(df$Category[grep("Games", df$Category)])
df2$Category <- fct_collapse(df$Category, Games = new_games)
df2
# Category
#1 Games
#2 Games
#3 Games
#4 Entertainment
df <-
structure(list(Category = structure(c(2L, 3L, 4L, 1L),
.Label = c("Entertainment", "Games x", "Games Y",
"Games Z"), class = "factor")),
class = "data.frame", row.names = c(NA, -4L))