簡體   English   中英

使用字符分配/更改字符/因子級別

[英]assign/change character/factor level using characters

我有一個數據框並選擇一行以獲得一行但保持級別。 我需要這一行來將 predict() 與稍后的模型一起使用。

我嘗試通過將字符 (?) 分配給這樣的因子級別來更改行的一個值:

df <- data.frame(some_amazing_column = c("yes", "no"))
levels(df$some_amazing_column)

row <- head(df, 1)
char <- "no"

head(row)
levels(row$some_amazing_column)
row$some_amazing_column = char
levels(row$some_amazing_column)

這將失去因子水平。 我是否正確更改了值(因子水平)? 在這種情況下,在保持水平的同時改變是對否的正確方法是什么。 請注意,分配的值是來自前端的字符。

PS:

接受的答案的提示導致此工作代碼:

df <- data.frame(some_amazing_column = c("yes", "no"))
levels(df$some_amazing_column)

row <- head(df, 1)
char <- "no"

head(row)
levels(row$some_amazing_column)
row$some_amazing_column <- factor(char, levels = levels(row$some_amazing_column))
head(row)
levels(row$some_amazing_column)

要更改級別,一種方法是將“字符”轉換為與原始數據集中levels相同的factor並分配

row$some_amazing_column <- factor(char, levels = levels(row$some_amazing_column))

levels(row$some_amazing_column)
#[1] "no"  "yes"

row
#  some_amazing_column
#1                  no

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM