我正在尝试将sav(SPSS)数据文件中的数据转换为适合HH::likert绘图的格式,但无法获得正确的调用来完成此操作。
为了复制sav格式,创建一个 Dataframe ,给出7个回答者回答的关于从1(非常喜欢)到5(非常不喜欢)对特定奶酪评级的likert问题的结果:
cheeses<-tribble(
~Cheddar, ~Brie, ~Stilton,
1, 4, 2,
2, 4, 1,
1, 1, 3,
4, 1, 5,
3, 2, 4,
5, 3, 1,
1, 5, 2
)
旋转更长的时间并不能得到HH::Likert可以使用的 Dataframe -它可以绘图,但图表只是比较评级与n(编号):
cheeseslong<-cheeses %>%
pivot_longer(everything(), names_to = "question", values_to = "rating") %>%
count(question, rating) %>%
group_by(question, rating)
数据需要采用以下格式,即每种奶酪的每个评级的响应总数:
cheeseslikert<-tribble(
~Question, ~"Strongly like", ~Like, ~Unsure, ~Dislike, ~"Strongly dislike",
"Cheddar", 3, 1, 1, 1, 1,
"Brie", 2, 1, 1, 2, 1,
"Stilton", 2, 2, 0, 0, 3
)
然后,我们可以很好地绘制利克特图:
HH::likert(Question~.,
cheeseslikert,
positive.order=TRUE,
as.percent = TRUE,
main="Cheese preferences.",
xlab="percentage",
ylab=""
)
所以我的问题是:应该使用什么命令将数据从"cheeses"格式移动到"cheeseslikert"格式?理想情况下,我希望使用tidyverse解决方案,但使用base R解决方案也可以。
1条答案
按热度按时间gfttwv5a1#
在
pivot_longer
之后需要pivot_wider
(并在第一个透视之前或之后引入标签):