R数据帧重新调整

R数据帧重新调整,r,R,我有一个R数据框(实际上是一个excel表格,我已将其读入R),格式如下: ID Text 1 This is a red car. Its electric and has 4 wheels. 2 This is a van with six wheels. 我想把它改成以下格式 ID Text 1 This is a red car. Its electric and has 4 wheels. 2

我有一个R数据框(实际上是一个excel表格,我已将其读入R),格式如下:

ID      Text
1      This is a red
       car. Its electric
       and has 4 wheels.
2      This is a van with
       six wheels.
我想把它改成以下格式

ID     Text
1      This is a red car. Its electric and has 4 wheels.
2      This is a van with six wheels

基本上,在两个ID号之间,我的文本被分成了多行。我想把它合并成上面的输出。 通过数字ID使用组_不起作用,因为它删除了带有ID的行。 关于如何实现这种输出,有什么想法吗?
谢谢

这里有一个带有
tidyverse
的选项。将“ID”中的空白(<代码>”/“代码>”转换为<代码> n>代码>(<代码> NaIIF <代码> >,使用<代码>填充<代码> <代码> TyDyr < /C> >,将<代码> n>代码>元素更改为以前的非NA值,按“ID”分组,然后<代码>粘贴<代码>“文本”按“代码>塌陷< /代码>将元素组合到一个字符串

library(dplyr)
library(tidyr)
library(stringr)
df1 %>%
      mutate(ID = na_if(ID, "")) %>%
      fill(ID) %>%
       group_by(ID) %>%
      summarise(Text = str_c(Text, collapse=' '))
# A tibble: 2 x 2
#   ID    Text                                             
#  <chr> <chr>                                            
#1 1     This is a red car. Its electric and has 4 wheels.
#2 2     This is a van with six wheels.            
数据
df1这里有一个带有
tidyverse
的选项。将“ID”中的空白(<代码>”/“代码>”转换为<代码> n>代码>(<代码> NaIIF <代码> >,使用<代码>填充<代码> <代码> TyDyr < /C> >,将<代码> n>代码>元素更改为以前的非NA值,按“ID”分组,然后<代码>粘贴<代码>“文本”按“代码>塌陷< /代码>将元素组合到一个字符串

library(dplyr)
library(tidyr)
library(stringr)
df1 %>%
      mutate(ID = na_if(ID, "")) %>%
      fill(ID) %>%
       group_by(ID) %>%
      summarise(Text = str_c(Text, collapse=' '))
# A tibble: 2 x 2
#   ID    Text                                             
#  <chr> <chr>                                            
#1 1     This is a red car. Its electric and has 4 wheels.
#2 2     This is a van with six wheels.            
数据
df1能否使用
dput()
提供一些示例数据?能否使用
dput()
提供一些示例数据?
df1 <- structure(list(ID = c("1", "", "", "2", ""), Text = c("This is a red", 
"car. Its electric", "and has 4 wheels.", "This is a van with", 
"six wheels.")), row.names = c(NA, -5L), class = "data.frame")