我试图在R中多次重复行(通常由列确定)。我的初始代码有时仅出于某种原因。
start <- c(1901, 1902, 1950, 1980, 1980)
end <- c(1905, 1910, 1951, 1999, 1985)
df <- data.frame(start, end)
df$count <- df$end - df$start
我试图重复行的次数与开始和结束之间的差异一样多。每年都会得到一行(+1是必要的,所以开始和结束年份也都有一行)。
有问题的代码片段有时仅在以下方面有效:
df<- df[rep(rownames(df), df$count +1), ]
它有时会说“时代”论点无效。
我想你想要的
df[rep(seq_along(df$count), df$count), ]
这复制了1:length(df$count)
序列与df$count
时间的每一个。