2016-05-16 120 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",]