まず、forとlistの組み合わせが上手くいかなかったので、地道に分解コードを書きました。
R
1img = load.image("imger.jpg") 2img = resize(img,10,10) 3imger1 = imsub(img, 1 < x || x < 2, 1 < y || y < 2) 4df1 = as.data.frame( imger1 ) 5imger2 = imsub(img, 2 < x || x < 3, 1 < y || y < 2) 6df2 = as.data.frame( imger2 ) 7imger3 = imsub(img, 3 < x || x < 4, 1 < y || y < 2) 8df3 = as.data.frame( imger3 ) 9imger4 = imsub(img, 4 < x || x < 5, 1 < y || y < 2) 10df4 = as.data.frame( imger4 ) 11imger5 = imsub(img, 5 < x || x < 6, 1 < y || y < 2) 12df5 = as.data.frame( imger5 ) 13imger6 = imsub(img, 6 < x || x < 7, 1 < y || y < 2) 14df6 = as.data.frame( imger6 ) 15imger7 = imsub(img, 7 < x || x < 8, 1 < y || y < 2) 16df7 = as.data.frame( imger7 ) 17imger8 = imsub(img, 8 < x || x < 9, 1 < y || y < 2) 18df8 = as.data.frame( imger8 ) 19imger9 = imsub(img, 9 < x || x < 10, 1 < y || y < 2) 20df9 = as.data.frame( imger9 ) 21imger10 = imsub(img, 1 < x || x < 2, 2 < y || y < 3) 22df10 = as.data.frame( imger10 ) 23imger11 = imsub(img, 2 < x || x < 3, 2 < y || y < 3) 24df11 = as.data.frame( imger11 ) 25imger12 = imsub(img, 3 < x || x < 4, 2 < y || y < 3) 26df12 = as.data.frame( imger12 ) 27imger13 = imsub(img, 4 < x || x < 5, 2 < y || y < 3) 28df13 = as.data.frame( imger13 ) 29imger14 = imsub(img, 5 < x || x < 6, 2 < y || y < 3) 30df14 = as.data.frame( imger14 ) 31imger15 = imsub(img, 6 < x || x < 7, 2 < y || y < 3) 32df15 = as.data.frame( imger15 ) 33imger16 = imsub(img, 7 < x || x < 8, 2 < y || y < 3) 34df16 = as.data.frame( imger16 ) 35imger17 = imsub(img, 8 < x || x < 9, 2 < y || y < 3) 36df17 = as.data.frame( imger17 ) 37imger18 = imsub(img, 9 < x || x < 10, 2 < y || y < 3) 38df18 = as.data.frame( imger18 ) 39imger19 = imsub(img, 1 < x || x < 2, 3 < y || y < 4) 40df19 = as.data.frame( imger19 ) 41imger20 = imsub(img, 2 < x || x < 3, 3 < y || y < 4) 42df20 = as.data.frame( imger20 ) 43imger21 = imsub(img, 3 < x || x < 4, 3 < y || y < 4) 44df21 = as.data.frame( imger21 ) 45imger22 = imsub(img, 4 < x || x < 5, 3 < y || y < 4) 46df22 = as.data.frame( imger22 ) 47imger23 = imsub(img, 5 < x || x < 6, 3 < y || y < 4) 48df23 = as.data.frame( imger23 ) 49imger24 = imsub(img, 6 < x || x < 7, 3 < y || y < 4) 50df24 = as.data.frame( imger1 ) 51imger25 = imsub(img, 7 < x || x < 8, 3 < y || y < 4) 52df25 = as.data.frame( imger25 ) 53imger26 = imsub(img, 8 < x || x < 9, 3 < y || y < 4) 54df26 = as.data.frame( imger26 ) 55imger27 = imsub(img, 9 < x || x < 10, 3 < y || y < 4) 56df27 = as.data.frame( imger27 ) 57imger28 = imsub(img, 1 < x || x < 2, 4 < y || y < 5) 58df28 = as.data.frame( imger28 ) 59imger29 = imsub(img, 2 < x || x < 3, 4 < y || y < 5) 60df29 = as.data.frame( imger29 ) 61imger30 = imsub(img, 3 < x || x < 4, 4 < y || y < 5) 62df30 = as.data.frame( imger30 ) 63imger31 = imsub(img, 4 < x || x < 5, 4 < y || y < 5) 64df31 = as.data.frame( imger31 ) 65imger32 = imsub(img, 5 < x || x < 6, 4 < y || y < 5) 66df32 = as.data.frame( imger32 ) 67imger33 = imsub(img, 6 < x || x < 7, 4 < y || y < 5) 68df33 = as.data.frame( imger33 ) 69imger34 = imsub(img, 7 < x || x < 8, 4 < y || y < 5) 70df34 = as.data.frame( imger34 ) 71imger35 = imsub(img, 8 < x || x < 9, 4 < y || y < 5) 72df35 = as.data.frame( imger35 ) 73imger36 = imsub(img, 9 < x || x < 10, 4 < y || y < 5) 74df36 = as.data.frame( imger36 ) 75imger37 = imsub(img, 1 < x || x < 2, 5 < y || y < 6) 76df37 = as.data.frame( imger37 ) 77imger38 = imsub(img, 2 < x || x < 3, 5 < y || y < 6) 78df38 = as.data.frame( imger38 ) 79imger39 = imsub(img, 3 < x || x < 4, 5 < y || y < 6) 80df39 = as.data.frame( imger39 ) 81imger40 = imsub(img, 4 < x || x < 5, 5 < y || y < 6) 82df40 = as.data.frame( imger40 ) 83imger41 = imsub(img, 5 < x || x < 6, 5 < y || y < 6) 84df41 = as.data.frame( imger41 ) 85imger42 = imsub(img, 6 < x || x < 7, 5 < y || y < 6) 86df42 = as.data.frame( imger42 ) 87imger43 = imsub(img, 7 < x || x < 8, 5 < y || y < 6) 88df43 = as.data.frame( imger43 ) 89imger44 = imsub(img, 8 < x || x < 9, 5 < y || y < 6) 90df44 = as.data.frame( imger44 ) 91imger45 = imsub(img, 9 < x || x < 10, 5 < y || y < 6) 92df45 = as.data.frame( imger45 ) 93imger46 = imsub(img, 1 < x || x < 2, 6 < y || y < 7) 94df46 = as.data.frame( imger46 ) 95imger47 = imsub(img, 2 < x || x < 3, 6 < y || y < 7) 96df47 = as.data.frame( imger47 ) 97imger48 = imsub(img, 3 < x || x < 4, 6 < y || y < 7) 98df48 = as.data.frame( imger48 ) 99imger49 = imsub(img, 4 < x || x < 5, 6 < y || y < 7) 100df49 = as.data.frame( imger49 ) 101imger50 = imsub(img, 5 < x || x < 6, 6 < y || y < 7) 102df50 = as.data.frame( imger50 )
で、このデータを以下コードによりcsv化し、
R
1img = load.image( "imger1.png" ) 2img = resize(img,10,10) 3df = as.data.frame( img ) 4df = df[3:4] 5colnames(df) <- c("input","output") 6write.csv(df,"imger1.csv",row.names=FALSE)
更に以下のニューラルコードで、既に他の画像を元に上のコードを用いて作ってあるimger2.csvと比較をする。
R
1train <- read.csv("imger2.csv",h=T) 2valid <- read.csv(sprintf("imger2.csv", x),h=T) 3 4sin1 <- nnet(data=train,output~input,size=3,maxit=2000); 5yosoku1 <- predict(sin1,valid,type="raw") 6sum(yosoku1)
事をしたいのですが(50個全てに対し)、根本的な所で引っかかってます、具体的には、
例えば、1個だけ、df50だけ取り出してみても、
R
1df50 = df50[3,4] 2colnames(df50) <- c("input","output") 3write.csv(df,sprintf("imger%d.csv", x),row.names=FALSE)
colnames<-
(*tmp*
, value = c("input", "output")) でエラー:
次元が 2 未満のオブジェクトに 'colnames' を設定しよう
というエラーが出ます、同じ方法で作成しているはずなのに、2未満であるから、等という理由でcsv化できません(resizeや区分範囲(x,y)を大きくしても変わりませんでした)。
ちなみに、csv化しなくとも、直接ニューラルコードに入力してできるのであれば、それでも良いです(が、できません、このままのコードであれば)、
どのようにすれば良いのでしょうか。
あなたの回答
tips
プレビュー