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

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

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

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

Q&A

1回答

553閲覧

RのWebshotで101以上のベクトルを渡すとエラーになる

tomochan_001

総合スコア15

R

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

0グッド

0クリップ

投稿2018/03/26 06:36

Webshot、ものすごく便利に使っていたのですが、今日突然101以上のベクトルを渡すとエラーを吐くようになりました。

R

1install.packages("webshot") 2webshot::install_phantomjs() 3 4library(readxl) 5library(webshot) 6table <- read_excel("【ごのごにょ.xlsx", sheet=3) 7url <- table$完成URL2 # 4541個のベクトル(NA含む) 8url <- url[!is.na(url)] # NAを除いて2938個のURL 9webshot(url, file = "pics/webshot.png", delay = 0.5) 10 11Error in webshot(url, file = "pics/webshot.png", delay = 0.5) : 12 webshot.js returned failure value: 127 13In addition: Warning message: 14running command '"C:\Users\thaya\AppData\Roaming/PhantomJS/phantomjs.exe" "C:/Users/thaya/Documents/R/win-library/3.4/webshot/webshot.js" [... truncated]

なぜかベクトルの長さを100に抑えると、動作します。

R

1webshot(url[1:100], file = "pics/webshot.png", delay = 0.5)

なぜでしょうか? また、長いベクトルを一挙に処理してもらうことはできないのでしょうか、、。

R

1Sys.info() 2 sysname release version nodename machine 3 "Windows" ">= 8 x64" "build 9200" "DESKTOP-OS849B2" "x86-64" 4 login user effective_user 5 "thaya" "thaya" "thaya" 6 7R version 3.4.4 (2018-03-15) -- "Someone to Lean On" 8Copyright (C) 2018 The R Foundation for Statistical Computing 9Platform: x86_64-w64-mingw32/x64 (64-bit) 10

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

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

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

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

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

guest

回答1

0

問題を起こしているのはRではなくphantomjs.exeであるように見えます。
このプログラムにRからどのようにパラメータが渡り、どんなエラーを吐き出しているのかを確かめるべきではないでしょうか。
もしベクトルの長さが101になった瞬間にエラーが起こったとすれば、「ベクトルの長さ」ではなくその101番目の要素(url?)に何か問題があるのかもしれません。Rを介さず、直接コマンドラインからそのURL
を指定してプログラムを実行してみたら何が起こるでしょうか?

投稿2018/03/26 16:26

KojiDoi

総合スコア13671

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

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

tomochan_001

2018/03/27 06:03

ありがとうございます。 その後、Rのコードでループを回し、一個一個URLを渡すようにしてなんとか目的とする作業は完遂できました。 渡しているのは同じベクトルですし、201:300や、301:400でも同じ現象が起きたので、URLには問題ないものと思われます。 PhantomJSについて少し調べてみたところ、PhantomJS自体には複数URLを処理する機能はないようなので、webshotに何かしらの問題が生じているようなのですが。
tomochan_001

2018/03/27 06:04

ライブラリから外部のプログラムにどんな値が渡っているかを調べるのは、どうしたらよいのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問