【发布时间】:2017-09-17 09:43:11
【问题描述】:
我有一个包含 240 个案例的数据集,我想在每个现有行之后创建一个空白行。留下 480 行,其中一半已填充,另一半为空(然后我想自己填充一些数据)。
数据示例
id groep_MNC zkhs fbeh pgebdat p_age pgesl
1 3 1 1 1 1955-12-01 42.50000 1
2 5 1 1 1 1943-04-09 55.16667 1
3 7 1 1 1 1958-04-10 40.25000 1
4 10 1 1 1 1958-04-17 40.25000 1
5 12 1 1 2 1947-11-01 50.66667 1
6 14 1 1 2 1952-02-02 46.41667 1
理想情况下,应该复制“id”,如下所示:
id groep_MNC zkhs fbeh pgebdat p_age pgesl
1 3 1 1 1 1955-12-01 42.50000 1
2 3 NA NA NA NA NA NA
3 5 1 1 1 1943-04-09 55.16667 1
4 5 NA NA NA NA NA NA
5 7 1 1 1 1958-04-10 40.25000 1
6 7 NA NA NA NA NA NA
7 10 1 1 1 1958-04-17 40.25000 1
8 10 NA NA NA NA NA NA
9 12 1 1 2 1947-11-01 50.66667 1
10 12 NA NA NA NA NA NA
11 14 1 1 2 1952-02-02 46.41667 1
12 14 NA NA NA NA NA NA
我尝试使用以下代码复制所有行:
mydf_long <- mydf[rep(1:nrow(mydf), each = 2),]
但正如你所看到的,这甚至与我想要的结果相差甚远。
编辑: 感谢您的编辑和 cmets。我需要将原始数据转换为适合多级分析的格式。但是,数据仍然非常混乱,因此最初适用于我的一小部分数据的其他方法不适用于我的全部数据集。有关背景的更多信息,请参阅我的其他问题:
Reshape/gather function to create dataset ready for multilevel analysis
Tidy up and reshape messy dataset (reshape/gather/unite function)?
R - replace values by row given some statement in if loop with another value in same df
由于我有相对“很少”的合作伙伴变量,我现在想创建空白行,并用合作伙伴数据填充它们。
【问题讨论】:
-
您打算如何“填充”您创建的空白行?
-
我想这就是你的答案:stackoverflow.com/questions/16453452/…
-
你想完成什么?也许制作和填充空白行不是最好的方法,但如果不了解完整的故事就很难判断。