为什么与WHILE相同的代码不能与FOR一起使用? [在R]

时间:2017-08-16 10:55:51

标签: r for-loop while-loop control-flow

我面对有趣的事情,我无法理解。我在R中有一个代码:

i <-1
list_dset <- list()
while (i <= length(drs)) {
                        xx <- subset(dset, grepl(drs[i], flist))
                        xx <- as.data.frame(xx)
                        list_dset <-list(list_dset,xx)
                        i <- i+1
                        }

其中:
&#39; DRS&#39;是2个元素的向量; &#39; DSET&#39;是24个要素的清单; &#39;的flist&#39;在这里,我用作分裂的因素线&#39; dset&#39;到12个elmtns的两个部分; 因此,我期望一个列表中包含两个元素(data.frames)的列表。 结果被转换为'#d;',其中前12个elmnts加入一个DF,第二个12个elmnts加入另一个DF,两个DF加入了&#39; list_dset&#39;。

所以问题是: 为什么这段代码在WHILE控制流程中正常工作,但不适用于FOR?

FOR循环:

i <-1
list_dset <- data.frame()
for (i in length(drs)) {
                         xx <- subset(dset, grepl(drs[i], flist))
                         xx <- as.data.frame(xx)
                         list_dset <-list(list_dset,xx)
                         }

0 个答案:

没有答案