11

knitrWindows 8バージョン 1.5 Rstudio 0.97.551用の R バージョン 3.0.1 (2013-05-16)

knitrRコードのマークダウンを行うために使用しています。私の分析の一環として、Web からさまざまなデータ セットをダウンロードしましknitrunsupported URL schemedownload.fileMac で関数を使用する場合、https からデータを取得するにはmethodパラメータを に設定する必要があることはわかっcurlていますが、これは を使用する場合には役に立ちませんknitr

knitrHttps Web サイトからデータを収集するには、何をする必要がありますか?

編集:これはKnitrでエラーを返すコードチャンクですが、Rを実行するとエラーなしで動作します。

```{r}
fileurl <- "https://dl.dropbox.com/u/7710864/data/csv_hid/ss06hid.csv"
download.file(fileurl, destfile = "C:/Users/xxx/yyy")
```
4

7 に答える 7

20

「curl」を次のようにメソッドに渡すことにより、download.file() 関数で https を使用できます。

download.file(url,destination,method="curl")
于 2014-05-22T19:40:51.110 に答える
9

編集 (2016 年 5 月) : R 3.3.0 の時点で、download.file()すべてのプラットフォームで SSL Web サイトを自動的に処理する必要があるため、この回答の残りの部分は意味がありません。

次のようなものが必要です。

library(RCurl)
data <- getURL("https://dl.dropbox.com/u/7710864/data/csv_hid/ss06hid.csv",
               ssl.verifypeer=0L, followlocation=1L)

これにより、データが単一の文字列としてメモリに読み込まれます。何らかの方法でデータセットに解析する必要があります。1 つの戦略は次のとおりです。

writeLines(data,'temp.csv')
read.csv('temp.csv')

ファイルに書き込まずにデータを直接分離することもできます。

read.csv(text=data)

編集:より簡単なオプションは、実際にはrioパッケージを使用することです:

library("rio")
import("https://dl.dropbox.com/u/7710864/data/csv_hid/ss06hid.csv")

これは、HTTPS URL から直接読み取り、data.frame を返します。

于 2013-11-10T14:45:49.183 に答える
9

機能を使用するsetInternet2(use = TRUE)前に使用してくださいdownload.file()。Windows 7で動作します。

setInternet2(use = TRUE)
download.file(url, destfile = "test.csv")
于 2014-06-03T05:28:08.550 に答える
5

私はあなたが今までにあなたの問題に対する解決策をすでに見つけたと確信しています.

私は現在割り当てに取り組んでいて、同じエラーが発生しました。いくつかのトリックを試しましたが、うまくいきませんでした。たぶん、私はWindowsマシンで作業しているためです。

とにかく、リンクを https: ではなく http: に変更したところ、うまくいきました。

以下は私のコードの一部です:

if (!file.exists("./PeerAssesment2")) {dir.create("./PeerAssessment2")}
fileURL <- "http://d396qusza40orc.cloudfront.net/repdata%2Fdata%2FStormData.csv.bz2"
download.file(fileURL, dest = "./PeerAssessment2/Data.zip")

install.packages("R.utils")
library(R.utils)
if (!file.exists("./PeerAssessment2/Data")) {
    bunzip2 ("./PeerAssessment2/Data.zip", destname = "./PeerAssessment2/Data")
}
list.files("./PeerAssessment2")

noaaData <- read.csv ('./PeerAssessment2/Data')

お役に立てれば。

于 2014-08-21T20:27:13.927 に答える
4

Windows 8で、https URLを使用したknitrとdownload.file()で同じ問題が発生しました。

setInternet2(TRUE)関数を使用する前に試すことができdownload.file()ます。ただし、この修正が Unix 系のシステムで機能するかどうかはわかりません。

setInternet2(TRUE)  # set the R_WIN_INTERNET2 to TRUE
fileurl <- "https://dl.dropbox.com/u/7710864/data/csv_hid/ss06hid.csv"
download.file(fileurl, destfile = "C:/Users/xxx/yyy") # now it should work

ソース: R ドキュメント ( ?download.file()):

https:// URL がサポートされるのは、--internet2 または環境変数 R_WIN_INTERNET2 が設定されているか、setInternet2(TRUE) が使用されている場合 (Internet Explorer の内部を利用するため)、および証明書が有効であると見なされる場合のみであることに注意してください。

于 2013-11-15T14:30:14.470 に答える
1

Rダウンロードパッケージを使用すると、ファイルのダウンロードに通常関連する風変わりな詳細に対処できます。たとえば、あなたがする必要があるのは次のことだけです。

```{r}
library(download)
fileurl <- "https://dl.dropbox.com/u/7710864/data/csv_hid/ss06hid.csv"
download(fileurl, destfile = "C:/Users/xxx/yyy")
```
于 2015-08-29T21:27:37.790 に答える
1

次のコードがRで完全に実行され unsupported URL scheme、htmlに編むときに取得するhttpsで同じ問題がありました。

temp = tempfile()
download.file("https://d396qusza40orc.cloudfront.net/repdata%2Fdata%2Factivity.zip", temp)
data = read.csv(unz(temp, "activity.csv"), colClasses = c("numeric", "Date", "numeric"))

ここに投稿されたすべてのソリューションを試してみましたが、何もうまくいきませんでした。絶対に必死になって、URLの「https」の「s」を削除しただけで、すべてうまくいきました...

于 2014-06-09T20:13:49.603 に答える