首页 > 解决方案 > 因式分解导致 NA

问题描述

我有下表。'a' 和 'b' 在李克特量表上从 1 到 5。

类型 一个 b
类型一 2 3
类型二 4 4
类型一 5 2

现在,我尝试将这里看到的数据分为两组(typeOne、typeTwo)并在 y 轴上使用“a”和“b”。

李克特示例图像

不幸的是,当我运行我的因子代码时,所有数值都从表中消失并被“NA”取代。

我的代码是:

df <- as.data.frame(data) 

factorLevels <- c('Strongly Disagree', 'Disagree', 'Neither', 'Agree', 'Strongly Agree') 

df[2:3] <- lapply(df[2:3], factor, levels=factorLevels) 

library(likert)
df_likert <- likert(df[,c(2:3)], grouping = df$type) 
plot(df_likert)

当我运行 plot 命令时,出现以下错误:

参数必须可强制转换为非负整数

标签: r

解决方案


你混淆levels=labels=.

fac <- c('a', 'b')

f_labels <- c('Strongly Disagree', 'Disagree', 'Neither', 'Agree', 
              'Strongly Agree')

d[fac] <- lapply(d[fac], factor, levels=1:5, labels=f_labels)

library(likert)
d_likert <- likert(d[fac], grouping=d$type) 
plot(d_likert)

在此处输入图像描述


数据:

d <- read.table(text='type  a   b
typeOne     2   3
typeTwo     4   4
typeOne     5   2', header=TRUE)

推荐阅读