我的调查中有一个多选题,每行有几个字符变量。我试图弄清楚如何使用tidyverse
将它们分开,这样我就可以使用ggplot2
将每个变量的总答案放在条形图中。
示例:
你更喜欢用什么方法来接收有关精确技术、保护计划和激励措施的信息?(最多选择3个(
df <- data.frame (Name = c("Sue", "Joe", "Bob"),
Q3 = c("Mail,Live Demonstrations,Websites", "Mail,Websites,In-person meetings/seminars", "Email,Mail,Videos (Ex: Youtube)"))
我尝试了pivot_longer(Survey$Q3)
(Q3是答案(,但我得到了这个错误
"Error in UseMethod("pivot_longer") :
no applicable method for 'pivot_longer' applied to an object of class "character""
您可以先str_split
列,然后unnest
:
df %>%
as_tibble() %>%
mutate(Q3 = str_split(Q3, ",")) %>%
unnest(Q3)
# # A tibble: 9 × 2
# Name Q3
# <chr> <chr>
# 1 Sue Mail
# 2 Sue Live Demonstrations
# 3 Sue Websites
# 4 Joe Mail
# 5 Joe Websites
# 6 Joe In-person meetings/seminars
# 7 Bob Email
# 8 Bob Mail
# 9 Bob Videos (Ex: Youtube)