Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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
如何创建一个表来指示多个data.frames中存在的因子级别_R_Dataframe_Levels - Fatal编程技术网

如何创建一个表来指示多个data.frames中存在的因子级别

如何创建一个表来指示多个data.frames中存在的因子级别,r,dataframe,levels,R,Dataframe,Levels,我有几个data.Frame,它们有一些公共因子变量。然而,丢失的观测值会导致差异,并且某些数据帧中的某些级别丢失。我想创建一个汇总表,指出哪些data.frames包含级别,哪些不包含级别 像这样 因子1 DF.1 DF.2 LEVEL1 TRUE TRUE LEVEL2 TRUE FALSE 其中,系数1的级别1同时出现在数据帧DF.1和DF.2中,而级别2仅出现在DF.1中,而不出现在DF.2中。请尝试: df.1 = data.f

我有几个data.Frame,它们有一些公共因子变量。然而,丢失的观测值会导致差异,并且某些数据帧中的某些级别丢失。我想创建一个汇总表,指出哪些data.frames包含级别,哪些不包含级别

像这样

因子1

            DF.1   DF.2
  LEVEL1    TRUE   TRUE
  LEVEL2    TRUE   FALSE
其中,系数1的级别1同时出现在数据帧DF.1和DF.2中,而级别2仅出现在DF.1中,而不出现在DF.2中。

请尝试:

df.1 = data.frame(var=c('a','b','c','d'))
df.2 = data.frame(var=c('a','b','c'))
df.3 = data.frame(var=c('a','d','d'))

ldf = list()
for(i in 1:3){
    ldf[[length(ldf)+1]] =get(paste0('df','.',i))
}
ll = sapply(ldf, function(x) {c(levels(x$var))})
levellist = unique(unlist(ll))

levellist
[1] "a" "b" "c" "d"

sapply(ldf, function(x) {levellist %in% levels(x$var) })
     [,1]  [,2]  [,3]
[1,] TRUE  TRUE  TRUE
[2,] TRUE  TRUE FALSE
[3,] TRUE  TRUE FALSE
[4,] TRUE FALSE  TRUE