在R中,如何初始化空数据帧,同时防止某些字符列被删除?
我想初始化一个数据帧,使它包含各种列,一些是字符向量,但不是因子,而另一些是因子 在这种情况下,我不能使用在R中,如何初始化空数据帧,同时防止某些字符列被删除?,r,dataframe,r-factor,R,Dataframe,R Factor,我想初始化一个数据帧,使它包含各种列,一些是字符向量,但不是因子,而另一些是因子 在这种情况下,我不能使用stringsAsFactors,因为这将根据其值将所有列设置为factors或字符 我能做什么?不清楚您所说的“空”数据框是什么意思。但是,您可以初始化数据帧,而不使用任何行,而是使用以下明确的定义列和列类型 empty_df <- data.frame(a = numeric(), b = character(),
stringsAsFactors
,因为这将根据其值将所有列设置为factors或字符
我能做什么?不清楚您所说的“空”数据框是什么意思。但是,您可以初始化数据帧,而不使用任何行,而是使用以下明确的定义列和列类型
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
empty\u df我的建议是在执行分析或绘图之前使用字符列。字符列通常更易于使用。如果你真的想要因子,那么遵循Frank的模板。data.frame(a=1,b=“bah”,c=factor(“caw”,levels=c(“caw”,“yaw”,“naw”)),stringsafactors=FALSE)
适合我。如果“空”的意思是没有行。。。这在R中是个坏主意。可能有用:有人能帮我解释为什么这个问题被否决了吗?我希望今后避免犯同样的错误。