r - 如何将一个字符串列分隔成多个列?

标签 r string dataframe data-manipulation

# A tibble: 268 x 1
   `Which of these social media platforms do you have an account in right now?`
   <chr>                                                                       
 1 Facebook, Instagram, Twitter, Snapchat, Reddit, Signal                      
 2 Reddit                                                                      
 3 Facebook, Instagram, Twitter, Linkedin, Snapchat, Reddit, Quora             
 4 Facebook, Instagram, Twitter, Snapchat                                      
 5 Facebook, Instagram, TikTok, Snapchat                                       
 6 Facebook, Instagram, Twitter, Linkedin, Snapchat                            
 7 Facebook, Instagram, TikTok, Linkedin, Snapchat, Reddit                     
 8 Facebook, Instagram, Snapchat                                               
 9 Linkedin, Reddit                                                            
10 Facebook, Instagram, Twitter, TikTok                                        
# ... with 258 more rows

我想将这个字符串列分成多个列,以便在其自己的列中获取每个社交媒体。

最佳答案

您可以使用 tidytext 包中的 unnest_tokens 结合 tidyr 中的 spread 来获得您想要的效果重新...

library(tidyverse)
library(tidytext)

df %>%
  mutate(Id = row_number(), HasAccount = "Yes") %>%
  unnest_tokens(Network, `Which of these social media platforms do you have an account in right now?`, to_lower = F) %>%
  spread(Network, HasAccount, fill = "No")

(我生成了我自己的数据版本,因此这看起来与您的不同)

# A tibble: 268 x 8
      Id Facebook Instagram Reddit Signal Snapchat TikTok Twitter
   <int> <chr>    <chr>     <chr>  <chr>  <chr>    <chr>  <chr>  
 1     1 No       No        No     No     No       No     Yes    
 2     2 Yes      Yes       No     No     Yes      No     Yes    
 3     3 No       Yes       No     Yes    No       Yes    No     
 4     4 No       Yes       No     No     Yes      No     No     
 5     5 No       Yes       No     Yes    Yes      Yes    Yes    
 6     6 No       Yes       No     No     No       No     No     
 7     7 No       No        Yes    Yes    No       Yes    Yes    
 8     8 No       No        Yes    No     No       No     Yes    
 9     9 No       No        Yes    No     Yes      Yes    No     
10    10 No       Yes       Yes    Yes    Yes      No     Yes

关于r - 如何将一个字符串列分隔成多个列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67806994/

相关文章:

python - 替换有时加倍的字符的单个实例

python - 按日期统计组数

python - 仅将属于最大组的行保留在 pandas 中

r - 为每个条形创建一个具有不同颜色的可绘制条形图

r - 在 dplyr 中输入点,不带波形符或引号

r - 幻影RStudio错误

r - 在数据框中同时计算平均值、方差和偏度的函数

C代码int到字符串不起作用

java - java中如何将char数组转换为多个字符串索引

python - 如何使用Python将字典列表写入Excel文件?