r - 合并行,并用group_by和填充空白位置?

标签 r merge

R编码非常新,我一直在尝试使用dplyr的group_by格式化/合并df中的行。但是,我还没到那儿。

这是我的数据表的简化。前三个条目共享相同的ID,后两个条目共享相同的ID。

ID                   Assay1  Assay2  Assay3  Assay4  Assay5
13,12 Months,<=-65C  12      NA      NA      NA      NA
13,12 Months,<=-65C  NA      11      NA      NA      NA
13,12 Months,<=-65C  NA      NA      33      NA      NA
09,06 Months,<=-65C  112     NA      NA      NA      NA
09,06 Months,<=-65C  NA      115     NA      NA      NA

我要实现以下目标:
ID                   Assay1  Assay2  Assay3  Assay4  Assay5
13,12 Months,<=-65C  12      11      33      NA      NA
09,06 Months,<=-65C  112     115     NA      NA      NA

以便将AssayValueX中的值合并到每个唯一ID的一行中。我已经将group_by与summary一起使用,但是我不希望有摘要...我想要一个包含合并行的新df!如果其他功能更适合实现此目的,请告诉我。

最佳答案

您可以使用dplyrzoo

df %>%
    group_by(ID) %>%
    mutate_each(funs(na.locf(., na.rm = FALSE, fromLast = FALSE)))%>%filter(row_number()==n())


ID                   Assay1  Assay2  Assay3  Assay4  Assay5
13,12 Months,<=-65C  12      11      33      NA      NA
09,06 Months,<=-65C  112     115     NA      NA      NA
编辑
给你另外的问题
数据:
ID Assay1 Assay2 Assay3 Assay4 Assay5
1 13,12 Months,<=-65C     12     13     NA     NA     NA
2 13,12 Months,<=-65C     11     11    999     NA     NA
3 13,12 Months,<=-65C     NA     NA     33     NA     NA
4 09,06 Months,<=-65C    112     NA     NA     NA     NA
5 09,06 Months,<=-65C     NA    115     NA     NA     NA
解决方案
df=df %>%
    group_by(ID) %>%
    summarise_all(funs(toString(na.omit(.))))
df[df=='']=NA
    > df
                   ID Assay1 Assay2  Assay3 Assay4 Assay5
                <chr>  <chr>  <chr>   <chr>  <chr>  <chr>
1 09,06 Months,<=-65C    112    115    <NA>   <NA>   <NA>
2 13,12 Months,<=-65C 12, 11 13, 11 999, 33   <NA>   <NA>

关于r - 合并行,并用group_by和填充空白位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45060439/

相关文章:

在操作按钮上被动地从外部源获取新数据

r - 是否可以在 R Shiny 中更改传单 map 屏幕截图大小?

R Shiny 错误 : object 'plotFunction' of mode 'function' was not found

sql - 合并数据库结构从一台服务器更改到另一台服务器

使用中央存储库时,mercurial 协作会导致多次提交相同的更改

mysql - 合并表并在必要时分配新的主键

visual-studio-2010 - TFS 合并如何工作?

R:计算 12 个月的累积返回

r - 如何从具有 LINESTRING 几何列的 sf 对象开始创建 linnet 对象?

.net - Visual Studio 2008 : how to avoid project file merge hell?