使用 sjPlot 中的 plot_likert 函数绘制李克特尺度
Plotting likert scales with plot_likert function from sjPlot
我有字符格式的李克特量表数据,想使用 sjPlot
R
包中的 plot_likert
函数绘制它。
df1 <-
data.frame(
matrix(
data = sample(x = c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree"), size = 500, replace = TRUE),
ncol = 5
)
)
head(df1)
X1 X2 X3 X4
1 Neutral Neutral Strongly Disagree Strongly Agree
2 Disagree Disagree Strongly Agree Agree
3 Neutral Strongly Agree Strongly Disagree Agree
4 Neutral Strongly Agree Agree Strongly Disagree
5 Neutral Neutral Disagree Strongly Disagree
6 Strongly Disagree Strongly Disagree Agree Strongly Disagree
X5
1 Disagree
2 Strongly Disagree
3 Strongly Disagree
4 Neutral
5 Strongly Disagree
6 Agree
library(sjPlot)
plot_likert(df1)
Error: Can't coerce element 1 from a character to a double
In addition: There were 18 warnings (use warnings() to see them)
但是,plot_likert
适用于数字数据。
df2 <-
data.frame(
matrix(
data = sample(x = 1:5, size = 500, replace = TRUE),
ncol = 5
)
)
df2
plot_likert(df2)
一个帮助。
要绘制数据,您必须先将 character
转换为 ordered factor
,然后再将其传递给 plot_likert
。否则,plot_likert
怎么知道,如何排序你的类别。
另外请注意,plot_likert
仅适用于偶数个类别(参见 ?plot_likert
)。但是你通过选项 cat.neutral
.
设置了中性类别
library(sjPlot)
df1 <-
data.frame(
matrix(
data = sample(x = c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree"), size = 500, replace = TRUE),
ncol = 5
)
)
df1 <- dplyr::mutate_all(df1, ~ ordered(., levels = c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree")))
plot_likert(df1, cat.neutral = 3)
我有字符格式的李克特量表数据,想使用 sjPlot
R
包中的 plot_likert
函数绘制它。
df1 <-
data.frame(
matrix(
data = sample(x = c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree"), size = 500, replace = TRUE),
ncol = 5
)
)
head(df1)
X1 X2 X3 X4
1 Neutral Neutral Strongly Disagree Strongly Agree
2 Disagree Disagree Strongly Agree Agree
3 Neutral Strongly Agree Strongly Disagree Agree
4 Neutral Strongly Agree Agree Strongly Disagree
5 Neutral Neutral Disagree Strongly Disagree
6 Strongly Disagree Strongly Disagree Agree Strongly Disagree
X5
1 Disagree
2 Strongly Disagree
3 Strongly Disagree
4 Neutral
5 Strongly Disagree
6 Agree
library(sjPlot)
plot_likert(df1)
Error: Can't coerce element 1 from a character to a double
In addition: There were 18 warnings (use warnings() to see them)
但是,plot_likert
适用于数字数据。
df2 <-
data.frame(
matrix(
data = sample(x = 1:5, size = 500, replace = TRUE),
ncol = 5
)
)
df2
plot_likert(df2)
一个帮助。
要绘制数据,您必须先将 character
转换为 ordered factor
,然后再将其传递给 plot_likert
。否则,plot_likert
怎么知道,如何排序你的类别。
另外请注意,plot_likert
仅适用于偶数个类别(参见 ?plot_likert
)。但是你通过选项 cat.neutral
.
library(sjPlot)
df1 <-
data.frame(
matrix(
data = sample(x = c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree"), size = 500, replace = TRUE),
ncol = 5
)
)
df1 <- dplyr::mutate_all(df1, ~ ordered(., levels = c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree")))
plot_likert(df1, cat.neutral = 3)