在 R 中,如何初始化空数据框同时防止某些字符列成为因素?

In R, how can I initialise empty data frame while preventing some character columns from being factors?

我想初始化一个数据框,使其包含各种列,一些是字符向量但不是因子,而另一些是因子。

在这种情况下,我不能使用 stringsAsFactors,因为那样会根据其值将所有列设置为因子或字符。

我能做什么?

不清楚您所说的 "empty" 数据框是什么意思。但是您可以初始化没有任何行但具有明确定义列和列类型的数据框,如下所示。

empty_df <- data.frame(a = numeric(),
                       b =  character(),
                       c = logical(),
                       d = integer(), 
                       stringsAsFactors = FALSE)

str(empty_df)
#'data.frame':  0 obs. of  4 variables:
#$ a: num 
#$ b: chr 
#$ c: logi 
#$ d: int 

您可以先设置 stringsAsFactors = FALSE,然后按照其他人的建议将列转换为 facter。