【发布时间】:2020-05-03 22:12:12
【问题描述】:
您好,我想知道是否有更好的方法来做到这一点:
# any test and or data frame those ones are just for the exemple
test <- sample(rep(c(TRUE,FALSE),times = 100000),10000)
dat <- data.frame(A = numeric(10000),B=character(10000),C=factor('expl'))
datYes <- dat[test,]
datNo <- dat[!test]
这个想法是,如果条件为真,则将数据帧分割成一个条件,如果条件为真,则数据进入数据帧 1,如果它在一秒钟内为假
我的意思是更好的方式是一种恶化的方式,我目前正在使用 data.frame 但我将更改为 data.table 并且我的主要想法是使用最快的方式进行 data.table 即使它目前较慢我很快就换了
【问题讨论】:
-
如果当前实现很慢,您将如何使用此代码(在生产中)?您认为什么是可接受的更快解决方案?
-
它不是拆分而是子集 2x,data.table 应该可以更好地扩展。您使用的方式应该是快速的,尝试详细的参数。仅当您多次循环此子集时,才有意义。见github.com/Rdatatable/data.table/issues/3736
标签: r