我在名为studentData
的变量中有5列数据。每列有326行,除了缺少3行的行。每个列都是一个5点的Likert值,来自集合mylevels <- c('Strongly disagree', 'Disagree', 'Neither agree nor disagree', 'Agree', 'Strongly agree')
当我打印每列中的级别数时,它为第二列(studentData $ Increaseased.confidence)提供值为6,因为它有3个缺失值,R将此解释为此列的另一个因素。
> sapply(studentData, function(x) { length(levels(x)) } ) # The number of levels in each factor
ï..Increased.engagement Increased.confidence Improved.writing.skills
5 6 5
Made.useful.contribution.to.course Should.keep.games.for.future.students
5 5
因此,我得到错误声明要使likert函数工作的级别数相同。我应该如何处理这3个缺失值?
> studentLikert <- likert(studentData)
Error in likert(studentData) :
All items (columns) must have the same number of levels
答案 0 :(得分:1)
尝试此操作:将列定义为因子,确保使用exclude =&#39;从因子级别定义中排除缺失值。 &#39;
a <- c('A','B','C','','A')
b <- c('A','B','A','C','B')
df <- data.frame(a,b)
mylevels <- c('A', 'B', 'C')
df <- as.data.frame(lapply(df,function(x) {factor(x,levels=mylevels, exclude="")}))