質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

14282閲覧

file(file, ifelse(append, "a", "w")) でエラーの解決策

alfastigma4w

総合スコア16

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2018/01/31 04:47

前提・実現したいこと

大量のjpgファイルをmxnetのデータセットとして使うために、csvファイルを作ろうとしましたが、その過程で以下のエラーメッセージが発生しました。imageToDatasetのコードはネットから拾ってきたものをそのまま使っています。

発生している問題・エラーメッセージ

file(file, ifelse(append, "a", "w")) でエラー: コネクションを開くことができません 追加情報: 警告メッセージ: file(file, ifelse(append, "a", "w")) で: ファイル 'C:/Users/my/R/train' を開くことができません: Permission denied

該当のソースコード

R言語
imageToDataset <- function(basedir, save_to,label, isGray) {
imagefiles <- list.files(basedir)
w <- 30
h <- 30
img_size <- wh
df <- data.frame()
for (i in 1:length(imagefiles)) {
result <- tryCatch({
imgname <- imagefiles[i]
img <- readImage(paste0(basedir,"/",imgname))
img_resized <- resize(img, w = w, h = h)
if (isGray) {
img_resized <- channel(img_resized,"gray")
}
img_matrix <- img@.Data
img_vector <- as.vector(array(img_matrix,dim=c(1,w
h*3)))
vec <- c(label, img_vector)
df <- rbind(df, vec)
},
error = function(e) { print(e) })
}
names(df) <- c("label", paste0("pixel", c(1:img_size)))
write.csv(df, save_to, row.names = FALSE)
return(df)
}

library(EBImage)
path = "C:/Users/my/R/train/train/jpg"
save_to = "C:/Users/my/R/train"

imageToDataset(path, save_to,0,1)

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

R3.4.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

C:/Users/my/R/trainなるディレクトリが存在し、かつ書きこみ可能な状態にあるか、確認してください。

コメントを読んで追記:
一つ見損なっていました。
C:/Users/my/R/trainはsave_toという変数に代入されており、それは関数imageToDataset内のwrite.csvで使われています。write.csvはデータをcsvファイルに書き出す関数です。書き出し先としてファイル名が指定されなくてはなりません。ところが書き出し先はC:/Users/my/R/trainでディレクトリです。これがエラーの原因でしょう。

コードの最後の方のsave_toにファイル名が代入されるように書き直してテストしてみてください。

投稿2018/01/31 06:11

編集2018/01/31 16:56
KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

alfastigma4w

2018/01/31 09:02

存在しており、書き込み可能な状態でした。
KojiDoi

2018/01/31 09:26

どのようにして確認しましたか?
alfastigma4w

2018/01/31 12:05

Windows Explorerで"C:/Users/my/R”まで開き、直下のtrainフォルダを右クリックしてプロパティを選択し、セキュリティタブのアクセス許可欄で書き込みが許可になっていることを確認しました。 もしかして、この方法だと不十分だったでしょうか…。
alfastigma4w

2018/01/31 22:30

ファイル名を指定したら、エラーなく実行出来ました!しかし、csvファイルには書き込まれていませんでした...。どうなっているのでしょうか?
alfastigma4w

2018/01/31 23:52

もう一度実行すると書き込まれました! 回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問