基于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)
的输出吗?