2017-06-28 3 views
0

このコードを実行すると、列のすべての情報が最初のファイルに書き込まれるだけなのです。私が望むのは、書かれたMO番号に固有の列からのデータだけです。私はこの問題が3行目だと考えていますが、それぞれの固有番号でデータをどのように分割するのか分かりません。助けのためのループ内で一意の値を得るためにRのテーブルからデータを書き込むのに役立つ必要がある

おかげで、


for (i in 1:nrow(MOs_InterestDF1)) { 

MO = MOs_InterestDF1[i,1] 

df = MOs_Interest[MOs_Interest$MO_NUMBER == MO, c("ITEM_NUMBER", "OPER_NO", "OPER_DESC", "STDRUNHRS", "ACTRUNHRS","Difference", "Sum")] 

submit.df <- data.frame(df) 

filename = paste("Variance", "Report",MO, ".csv", sep="") 

write.csv(submit.df, file = filename, row.names = FALSE)} 

答えて

0

あなたはそれぞれの固有MO番号用に別のCSVを書き出すしようとしている場合は、このようなものは、それを達成するために働くことがあります。たとえば、「これは数1.csvある」次のデータを持っていました。

unique.mos <- unique(MOs_Interest$MO_NUMBER) 

for (mo in unique.mos){ 

    submit.df <- MOs_Interest[MOs_Interest$MO_NUMBER == mo, c("ITEM_NUMBER", "OPER_NO", "OPER_DESC", "STDRUNHRS", "ACTRUNHRS","Difference", "Sum")] 

    filename <- paste("Variance", "Report", mo, ".csv", sep="") 

    write.csv(submit.df, file = filename, row.names = FALSE) 
    } 
+0

助けてくれてありがとう、それは働いた。 – Chris5262

0

これは、例えば、データなしで完全に答えるのは難しい(MOs_InterestDF1の列は何ですか?)私はあなたの問題がDFラインにあると思います。データフレームをMOに一致するデータだけにサブセット化しようとしていますか?その場合はdf = MOs_Interest[which(MOs_Interest$MO_NUMBER == MO),]のようにwhichを試してください。

2つの個別のdfs(MOs_InterestMOs_InterestDF1)が実際にあるかどうかはわかりませんでした。そうでない場合は、df行が正しいデータフレームを指していることを確認してください。

私はいくつかの単純化されたサンプルデータを作成しようとした:

MOs_InterestDF1 <- data.frame("MO_NUMBER" = c(1,2,3), "Item_No" = c(142,423,214), "Desc" = c("Plate","Book","Table")) 
for (i in 1:nrow(MOs_InterestDF1)) { 
MO = MOs_InterestDF1[i,1] 
mydf = data.frame(MOs_InterestDF1[which(MOs_InterestDF1$MO_NUMBER == MO),]) 
filename = paste("This is number ",MO,".csv", sep="") 
write.csv(mydf, file = filename, row.names=FALSE) 
} 

この出力を三つの異なるCSVファイル、データの正確に一つの行にそれぞれ。

MOs Item_No Desc 
1  142  Plate 
+0

混乱して申し訳ありませんが、MOs_InterestDF1は一意の値の表であり、MOs_Interestはすべての情報を持っていました。私の部分ではタイトルの選択肢が貧弱です。 – Chris5262

関連する問題