R
1install.packages("imager") 2library(imager) 3img = load.image( "boats.png" ) 4plot( img ) 5boats[ , , 1, 1 ]
上のコードで、boatsの画像情報を表示できます。また、
R
1boats[ 10, 20, 1, 1 ] # x = 10, y = 20 座標の R の画素値
上のコードで、boats画像のある座標のRGB情報を得られます。
この、各位置のRGB情報に対して
R
1 x <- 2 2 if (x > 0) { # if ( 条件式 ) 3 sum(1:x) # 条件式が TRUE のときに実行される部分 4 } else { 5 x <- -x # 条件式が FALSE のときに実行される部分 6 sum(1:x) # 7 } 8 9if (x > 0) { # if ( 条件式 ) 10 sum(1:x) # 条件式が TRUE のときに実行される部分 11} else { 12 x <- -x # 条件式が FALSE のときに実行される部分 13 sum(1:x) # 14}
こんな感じのifや、forを使って、ある条件を満たすものだけを抽出したりなどしたいのですが、どうするのでしょうか・・・。
boats[ 10, 20, x, y ] などできればいいのですが、いまいちやり方が。
回答を受けて
ちょっと説明が足りていなかったようです、自分でもコードを組みましたができなかったので、
どうやるのかなと。自分で組んだコードを以下に貼ります。例えば、
R
1for (x in 1:5) { 2boats[ x, 20, 1, 1 ] 3}
こういうのです。boatsは、ちゃんと表示されます。
boats[ 1, 20, 1, 1 ]とすればちゃんと小数が表示されます、しかしこのようない、
1から5まで表示、ということができない、これを実行しても「何も表示されません」。
これはfor文ですが、if文は、以下はちゃんと実行、表示されます。
R
1x <- 1 2if (boats[ x, 20, 1, 1 ] > 0.5) { 3print(x) 4} else { 5print(0) 6}
試行錯誤した結果、なぜか
R
1for (x in 1:5) { 2z <- boats[ x, 20, 1, 1 ] 3print(z) 4}
これだとできたんですが、他にやり方あります?
やはりRの質問はあまり好ましくないんでしょうか・・・
いや長沼テラテイラーさんの丸投げの質問スタイルが好ましくないだけですよ。何度も言われてると思うけど基礎的なことやりなよ。質問の内容見る限りif文とかfor文とかのレベルなんだから、もうちょっと自力で頑張ってみれば?「これでも頑張ってるんです!」って思うかも知れないけど、今のところそれが何も伝わってないし、それを伝えるために質問のテンプレートがあるわけで。現状だと自分のブログかTwitterで一人で一生やってれば?って感じです。
Rのプロの書き込みがなく、全然分からない
だって、最終的にどういう処理をしたいのか全然わからないじゃん。
ただ抽出したいとだけいわれても、「質問文で書いているようなパターンでできるはずだよ」以上のことをどう答えろと?
>できるはずだよ
できないです
>できないです
なら学校に通え。
あなたの要求は、見ず知らずの相手にタダで教えてもらおうという範囲を超えています。教えてくんの居場所はここにはありません。
>Rのプロの書き込みがなく
少なくとも貴方の質問に回答、コメントを残してくれているKojiDoiさんは
R総合一位の方ですが。
それに、プロに教えてもらうと言うことは当然その労力に見合った対価を払うべき事です。
プロ(というか、Rがタグに入っている人)の書き込みがない、と書いた後に書いて頂いたKojiさんは確かにR1位ですね。
回答1件
あなたの回答
tips
プレビュー