基于R中的其他列值复制行

基于R中的其他列值复制行,r,dataframe,duplicates,row,R,Dataframe,Duplicates,Row,我想按列计数复制行。对于示例数据,我的代码可以正常工作,但当我尝试使用大型数据集时,会出现以下错误: rep(seq_len(dim(df1)[1]),df1$Count中出错:“times”参数无效 我的数据和代码: df1 <- data.frame(Month = rep(month.abb[1:12],10,replace = TRUE), Product = paste0('Product ', rep(LETTERS[1:10], each = 12)),

我想按列
计数
复制行。对于示例数据,我的代码可以正常工作,但当我尝试使用大型数据集时,会出现以下错误:

rep(seq_len(dim(df1)[1]),df1$Count中出错:“times”参数无效

我的数据和代码:

df1 <- data.frame(Month = rep(month.abb[1:12],10,replace = TRUE), Product = paste0('Product ', rep(LETTERS[1:10], each = 12)),
                  Count = sample(c(1:10),120, replace = T),  stringsAsFactors = F)


df2 <- data.frame(df1[rep(seq_len(dim(df1)[1]), df1$Count), , drop = FALSE], row.names=NULL)

head(df2)
  Month   Product Count
1   Jan Product A     1
2   Feb Product A     4
3   Feb Product A     4
4   Feb Product A     4
5   Feb Product A     4
6   Mar Product A    10


df1您可以这样做。这将处理负值和
NA

df2 0&!is.na(计数,计数,1))
),drop=FALSE],row.names=NULL)

Count
为负数或
NA
的行将保持原样(这意味着它们将被复制到
df2
一次而不重复)

如果使用
rep(1:(dim(df1)[1]),df1$Count)
而不是
rep(seq_len(dim(df1)[1]),df1$Count)
,会发生什么?确保
Count
中没有负值
rep(“A”、-3)
在rep(“A”、-3)中生成
错误:无效的“times”参数
。相同的错误:
无效的“times”参数
表(df1$Count)
生成?有负数吗?是的,我有几行是NA。你能按照@deepseefan的建议粘贴
表(df1$Count)
的输出吗?