在不同列上传播单个列

时间:2017-10-11 13:56:30

标签: r tidyr

我正在尝试使用如下所示的数据库:

ID      Name          Monday1             Monday2             Monday3
 1      Brad                              12:00-1:00
 2      Carly         11:00-12:00                             1:00-2:00
 3      Erin          11:00-12:00         12:00-1:00
 4      Kayla         11:00-12:00         12:00-1:00
 5      Pete                              12:00-1:00          1:00-2:00

把它变成这个:

Monday1                 Monday2                     Monday3
Carly                   Brad                        Carly
Erin                    Erin                        Pete
Kayla                   Kayla
                        Pete

我可以将名称传播到列中,但是有一堆空行。我不知道如何压缩不同的行。我不确定如何压缩所有内容,因此没有一堆不同的空行。

1 个答案:

答案 0 :(得分:1)

将原始数据修改为NAs而不是任何内容后,您可以尝试以下操作:

install.packages(qpcR)
do.call(qpcR:::data.frame.na, apply(df[3:5], 2, function(x) df[!is.na(x),2]))
  Monday1 Monday2 Monday3
1   Carly    Brad   Carly
2    Erin    Erin    Pete
3   Kayla   Kayla    <NA>
4    <NA>    Pete    <NA>