让我先说我是相当新的R和通常认为自己是一个新手程序员开始......所以不要以为我知道我在做什么:)搜索矩阵只有某些记录
我有一个很大的矩阵,大约300,000 x 14。它本质上是一个15分钟数据的20年数据集。但是,我只需要列名为REC.TYPE的行包含字符串“SAO”或“FL-15”。
我的可怕的低效率解决方案是逐行搜索矩阵,测试REC.TYPE列,如果行不符合我的标准,就会删除行。从本质上讲...
j <- 1
for (i in 1:nrow(dataset)) {
if(dataset$REC.TYPE[j] != "SAO " && dataset$RECTYPE[j] != "FL-15") {
dataset <- dataset[-j,] }
else {
j <- j+1 }
}
看我的代码通过仅约10%的基质得到一个小时,每排放缓之后......我想一定有拉出只记录的更有效的方法我需要...特别是当我需要为其他8个数据集重复此操作时。
任何人都可以指向正确的方向吗?
你的问题会更加有意义给他人。现在我们必须猜测'数据集'是什么。这使得问题更加本地化,对未来的搜索者不太有用。 – 2013-03-03 07:29:47
这里真正杀死你的是你一直在重写数据集。不要这样做! – 2013-03-03 08:30:58