R 如何在数据框中将因子标签更改为字符串

R 如何在数据框中将因子标签更改为字符串,r,R,我有以下数据框: name1 name2 A B B D C C D A 列“name1”和“name2”被视为因子,因此A、B、C和D被视为级别。然而,我想以某种方式转换此数据帧,使其成为 name1 name2 "A" "B" "B" "D" "C" "C" "D" "A" 换句话说,将其转换为

我有以下数据框:

    name1  name2
        A      B
        B      D
        C      C
        D      A
列“name1”和“name2”被视为因子,因此A、B、C和D被视为级别。然而,我想以某种方式转换此数据帧,使其成为

    name1  name2
      "A"    "B"
      "B"    "D"
      "C"    "C"
      "D"    "A"
换句话说,将其转换为将a、B、C和D视为字符串的方式


我该怎么做呢?

您正在寻找
as.character
,您需要将其应用于
data.frame
的每一列

假设
X
是您的数据。帧
如果
fctr.cols
是因子列的名称,则可以使用:

 X[, fctr.cols] <- sapply(X[, fctr.cols], as.character)

这可能比上面的答案简单一点

#where your dataframe = df
df.name1 <- as.character (df.name1)
df.name2 <- as.character (df.name2)
#其中您的数据帧=df

df.name1如果只想转换系数变量的选定列,而不是数据框中的所有系数变量列,可以使用:

file1[,n] <- sapply(file1[,n], as.character)

file1[,n]如何创建数据帧?如果您正在读取分隔文件,也可以在导入过程中执行此操作。如果您在csv文件中有数据…您可以按照@beroe“
df的建议在导入过程中完成此操作
#Convert from Factor to Char
#Data frame named data
#Old Variable named foo, factor type
#New Variable named fooChar, character type

data$fooChar <-as.character(data$foo)

#confirm the data looks the same:
table (data$fooChar)

#confirm structure of new variable
str(data)
file1[,n] <- sapply(file1[,n], as.character)