根据R中的某些标准添加观察

时间:2016-06-20 01:24:29

标签: r

我想根据某些标准添加观察。

例如:

SN     Species       Habitat        X_Cor   Y_cor     Total 
1      monkey        grassland      4444    6666      6
2      porcupine     agri_Land      6666    5555      20

我想补充观察多达60次。在上面,第一次观察将重复54次(60-5),其值为" Total" 0.第二次观察将重复40次(60-20次)。

此外,

我想重复第一次观察六次(因为#34中有6次; Total")。

我有590个这样的观察。我想知道如何在R中编写代码。

1 个答案:

答案 0 :(得分:1)

如果条件是根据' Total'中的值复制行,请使用rep复制行序列。

df1[rep(1:nrow(df1), df1$Total),]

或者如果我们需要一个包装器

library(splitstackshape)
expandRows(df1, "Total")

描述的部分add observation upto 60 times. In above, the first observation is to be repeated 54 times (60-5)从显示的示例中不清楚。如果我们需要根据描述进行复制

df1[rep(1:nrow(df1), c(54, 40)),]