Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中,如何初始化空数据帧,同时防止某些字符列被删除?_R_Dataframe_R Factor - Fatal编程技术网

在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中是个坏主意。可能有用:有人能帮我解释为什么这个问题被否决了吗?我希望今后避免犯同样的错误。