我有几个data.frames,它们有一些共同的因子变量。但是,缺少观察结果会导致差异,某些数据框架会丢失某些级别。我想创建一个汇总表,指出哪些data.frames包含级别,哪些不包含。
喜欢这个
因子1
DF.1 DF.2
LEVEL1 TRUE TRUE
LEVEL2 TRUE FALSE
其中FACTOR1的LEVEL1出现在数据帧DF.1和DF.2中,而LEVEL2仅出现在DF.1中但不出现在DF.2中。
答案 0 :(得分:1)
尝试:
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