【发布时间】:2021-05-19 19:05:12
【问题描述】:
考虑这个示例
df<-{data.frame(v0=c(1, 2, 5, 1, 2, 0, 1, 2, 2, 2, 5),v1=c('a', 'a', 'a', 'b', 'b', 'c', 'c', 'b', 'b', 'a', 'a'), v2=c(0, 10, 5, 1, 8, 5,10, 3, 3, 1, 5))}
对于大型数据框:如果 v0>4,则删除所有包含对应值 v1 的行(删除一个组?)。
因此,这里的结果应该是一个数据框删除所有带有“a”的行,因为“a”的 v0 值为 5。
df_ExpectedResult<-{data.frame(v0=c( 1, 2, 0, 1, 2, 2 ),v1=c( 'b', 'b', 'c', 'c', 'b', 'b'), v2=c(1, 8, 5,10, 3, 3))}
另外,我想要一个新的数据框来保存已删除的组。
df_Dropped <- {data.frame(v1='a')}
对于庞大的数据集,您将如何有效地执行此操作?我正在使用一个简单的 for 循环和 if 语句,但操作时间太长。
【问题讨论】:
标签: r dataframe large-data drop