首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理R中likert标度的缺失值

处理R中likert标度的缺失值
EN

Stack Overflow用户
提问于 2017-04-27 09:12:01
回答 1查看 1.6K关注 0票数 1

我在一个名为studentData的变量中有5列的数据。每列有326行,但其中一列缺少3行。每一列都是来自集合mylevels <- c('Strongly disagree', 'Disagree', 'Neither agree nor disagree', 'Agree', 'Strongly agree')的5点likert值。

当我在每一列中打印级别数时,它为第二列(studentData$Increased.confidence)提供6的值,因为它有3个缺失的值,R将其解释为该列的另一个因素。

代码语言:javascript
复制
> 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个缺失的值?

代码语言:javascript
复制
> studentLikert <- likert(studentData)
Error in likert(studentData) : 
  All items (columns) must have the same number of levels
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-27 09:45:22

尝试如下:将列定义为因素,确保使用exclude=‘’将缺失的值排除在因素级别定义之外。

代码语言:javascript
复制
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="")}))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43653459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档