基于另一个数据框创建新数据帧(使用循环或其他方式)

bul*_*ins 5 r dataframe

我有一个这样的数据框:

Site    speciescode abundance   times
LM1           MkI        9      3
LM2           KiU        8      4
Run Code Online (Sandbox Code Playgroud)

我想根据times值重复行.我正在考虑使用循环来生成新的数据帧,如下所示:

Site   speciescode   abundance
LM1    MkI           9
LM1    MkI           9
LM1    MkI           9
LM2    KiU           8
LM2    KiU           8
LM2    KiU           8
LM2    KiU           8
Run Code Online (Sandbox Code Playgroud)

救命.

Blu*_*ter 1

试试这个(根据需要编辑行号):

d <- data.frame(Site=c("LM1","LM2"),speciescode=c("MkI","KiU"),abundance=c(3,4),times=c(3,4))
for(i in seq(from=3,to=7,by=2)) {
  d[i,] <- d[1,]
  d[i+1,] <- d[2,]
}
d$abundance[d$times == 3] <- 9
d$abundance[d$times == 4] <- 8
Run Code Online (Sandbox Code Playgroud)