2016-05-16 90 views
-4

我想创建分区两个数据集有条件的列中的值。分配数据与for循环在R

#initialize empty data frames 
    test =data.frame(D=factor(), 
       B=factor(), 
       P=factor(), 
       u=double(), 
       t=character(),stringsAsFactors=FALSE) 

    train =data.frame(D=factor(), 
      B=factor(), 
      P=factor(), 
      u=double(), 
      t=character(),stringsAsFactors=FALSE)  
#loop over each row   
for(i in nrow(knime.in)) 
{ 
    if(knime.in[i,5]=="train") 
     { 
      train=rbind(knime.in[i,]) 
     } 
    else 
     { 
      test=rbind(knime.in[i,]) 
     } 

} 

当我这样做,我觉得在测试框架的一切,即使我能看到第一半左右的时间值在5列

+0

你写了你的if块sloppily。 '} else {'而不是在三条不同的线上。 – Adam

+0

我修正了这个问题,虽然那并没有真正解决这个错误。 – mlanier

+1

为什么'train = knime.in [knime.in $ t =='train',]''和'test'矢量化类似? – Gopala

回答

0

只是指数火车值。

train <- knime.in[knime.in[,5]=="train",] 
test <- knime.in[knime.in[,5]!="train",]