Как я могу взять два столбца в R и сгладить их, как показано ниже? - PullRequest
0 голосов
/ 23 февраля 2019

До

+---------+------------------------------------+
|  Word   |                Tags                |
+---------+------------------------------------+
| morning | #sunrise #droplets #waterdroplets  |
| morning | #sky #ocean #droplets              |
+---------+------------------------------------+

После

+---------+---------------+
|  Word   |     Tags      |
+---------+---------------+
| morning | sunrise       |
| morning | droplets      |
| morning | waterdroplets |
| morning | sky           |
| morning | ocean         |
| morning | droplets      |
+---------+---------------+

Обратите внимание, как я хочу, чтобы капли появлялись дважды.Эта таблица очень большая, более 5 м строк, если этот метод может быть эффективным, что было бы очень полезно.Спасибо!

1 Ответ

0 голосов
/ 23 февраля 2019

Мы можем использовать separate_rows от tidyr.

library(dplyr)
library(tidyr)

dat <- tribble(
  ~Word,   ~Tags,
  "morning", "#sunrise #droplets #waterdroplets",
  "morning", "#sky #ocean #droplets"
)

dat2 <- dat %>%
  separate_rows(Tags, sep = " #") %>%
  mutate(Tags = gsub("#", "", Tags))
dat2
# # A tibble: 6 x 2
#   Word    Tags         
#   <chr>   <chr>        
# 1 morning sunrise      
# 2 morning droplets     
# 3 morning waterdroplets
# 4 morning sky          
# 5 morning ocean        
# 6 morning droplets   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...