2016-05-16 10 views
-4

2つのデータセットを条件付きで分割するように作成しようとしています。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ブロックを不愉快に書いています。 '} else {'を3つの異なる行に置くのではなく、 – 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",]