r-如何在一个字符列中分离或取消测试多个变量



我的调查中有一个多选题,每行有几个字符变量。我试图弄清楚如何使用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)

最新更新