作成したいくつかのプロットに化学構造の画像を追加しようとしています。ACToR データベースを使用して化学構造にアクセスしています。例えば:
( http://actor.epa.gov/actor/image?format=png%3Aw250%2Ch250&casrn=80-05-7 )
このサイトの良いところは、サイズと URL 内の化学物質を変更できることです。そのため、画像の取得を自動化できます。私の希望は、CAS番号を含むオブジェクトを保存し、CAS番号を繰り返し処理してプロットを作成することでした。
例えば:
library(png)
casnums <- ("80-05-7","77-40-7","1478-61-1")
image.list <- list()
for(cas in casnums){
image.list[[cas]] <- readPNG(paste0("http://actor.epa.gov/actor/image?format=png%3Aw1000%2Ch1000&casrn=",cas))
}
readPNG
パッケージから使ってpng
みたり、rgdal
パッケージも使ってみたり。残念ながら、私が知る限り、ACToR は png または jpeg 形式の画像しか生成しないため、このgrImport
パッケージを使用してベクター画像を読み取ることはできません。
各画像を手動でダウンロードする必要がない解決策を見つけることを本当に望んでいます-それらはたくさんあります。私は、Rが画像をフォルダにダウンロードしてダウンロードするソリューションにオープンであり、png
パッケージのようなもの、またはrgdal
パッケージを使用して画像をロードしてプロットすることができます。
@ialm への返信: 最初のコメントの後に試したのは次のとおりです。
> download.file(url="http://actor.epa.gov/actor/image?format=png%3Aw250%2Ch250&casrn=80-05-7",destfile="test.png")
trying URL 'http://actor.epa.gov/actor/image?format=png%3Aw250%2Ch250&casrn=80-05-7'
Content type 'image/png' length 200 bytes
opened URL
downloaded 6691 bytes
Warning message:
In download.file(url = "http://actor.epa.gov/actor/image?format=png%3Aw250%2Ch250&casrn=80-05-7", :
downloaded length 6691 != reported length 200
画像を開こうとすると、わずか 7 KB で、画像ビューアーに次のメッセージが表示されます。
私は (私の意志に反して) Windows 7 を使用していることに注意してください。RStudio と R の両方を使用してみました。RStudio は警告メッセージを表示し、R は表示しませんでしたが、R は同じファイルのように見えるものを作成しました (7KB)そしてまだ開かない。
@Greg Snow への対応: コンテキストを追加するために、RStudio の新しい R コンソールから次のコマンドを実行しました。64 ビットの Rv3.0.1 と 64 ビットの RStudio v0.97.551 を使用しました。
> library(png)
> search()
[1] ".GlobalEnv" "package:png" "tools:rstudio" "package:stats" "package:graphics" "package:grDevices"
[7] "package:utils" "package:datasets" "package:methods" "Autoloads" "package:base"
> con <- url("http://actor.epa.gov/actor/image?format=png%3Aw1000%2Ch1000&casrn=1478-61-1",open='rb')
> rawpng <- readBin(con, what='raw', n=1e6)
> close(con)
> png1 <- readPNG(rawpng)
Error in readPNG(rawpng) : libpng error: bad adaptive filter value
> ls()
[1] "con" "rawpng"