根据向量重复行

问题描述 投票:0回答:1

我试图在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), ]

它有时会说“时代”论点无效。

r repeat rep
1个回答
1
投票

我想你想要的

df[rep(seq_along(df$count), df$count), ]

这复制了1:length(df$count)序列与df$count时间的每一个。

© www.soinside.com 2019 - 2024. All rights reserved.