web-dev-qa-db-ja.com

githubからCSVをRに読み込む

私はgithubからCSVをRに読み込もうとしています:

latent.growth.data <- read.csv("https://github.com/aronlindberg/latent_growth_classes/blob/master/LGC_data.csv")

しかし、これは私に与えます:

Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") : unsupported URL scheme

私は試した ?read.csv?download.filegetURL(奇妙なHTMLのみを返した)、および データインポートマニュアル ですが、動作させる方法を理解できません。

私は何を間違えていますか?

47
histelheim

これを試して:

library(RCurl)
x <- getURL("https://raw.github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv")
y <- read.csv(text = x)

次の2つの問題があります。

  1. 「raw」ファイルにリンクしているのではなく、Githubの表示バージョン(https:\ raw.github.com .... csvのURLにアクセスして、 rawバージョン表示バージョン )。
  2. httpsは多くの場合Rにとって問題なので、RCurlのようなパッケージを使用して回避する必要があります。場合によっては(Githubではなく)、httpsをhttpに置き換えるだけでうまくいくので、いつでも最初に試すことができますが、RCurlの使用は信頼でき、余分な入力はしません。
87

urlのドキュメントから:

「https://」接続はサポートされていないことに注意してください(Windowsでは一部例外があります)。

したがって、問題は、Rがhttps URLへの接続を許可しないことです。

curldownload.fileを使用できます:

download.file("https://raw.github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv", 
    destfile = "/tmp/test.csv", method = "curl")
22
Paul Hiemstra

私はR 3.0.2を使用していますが、このコードは仕事をします。

urlfile<-'https://raw.github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv'
dsin<-read.csv(urlfile)

これも

urlfile<-'https://raw.github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv'
dsin<-read.csv(url(urlfile))

編集(sessionInfo)

R version 3.0.2 (2013-09-25)
Platform: i386-w64-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=Polish_Poland.1250  LC_CTYPE=Polish_Poland.1250   
[3] LC_MONETARY=Polish_Poland.1250 LC_NUMERIC=C                  
[5] LC_TIME=Polish_Poland.1250    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.0.2
15
Maciej

Akhmedと同様のスタイルで、答えを更新すると思いました。これは、Hadleyのreadrパッケージを使用できるようになったためです。注意すべきことは、URLがrawコンテンツである必要があるということです(//raw.git...以下)。以下に例を示します。

library(readr)
data <- read_csv("https://raw.githubusercontent.com/RobertMyles/Bayesian-Ideal-Point-IRT-Models/master/Senate_Example.csv")

ほら!

6
RobertMyles

質問が非常に古いことを認識して、Googleはそれを(少なくとも私にとっては)最高の結果として報告し続けたため、2015年の回答を提供することにしました。

人々は一般的に、次の非常に簡単なソリューションを提供する by r-bloggers で説明されているように、curlパッケージ(有名なhttrを含む)に移行しています。

library(curl)

x <- read.csv( curl("https://raw.githubusercontent.com/trinker/dummy/master/data/gcircles.csv") )
5
akhmed

これが、私がrioの開発を支援してきたことです。これは基本的に、HTTPS/SSLをサポートし、拡張子からファイルタイプを推測するユニバーサルデータインポート/エクスポートパッケージです。したがって、1つのインポート関数を使用して基本的にすべてを読み取ることができます。

library("rio")

GithubからCSVの「生の」URLを取得する場合、importで1行をロードできます。

import("https://raw.githubusercontent.com/aronlindberg/latent_growth_classes/master/LGC_data.csv")

結果はdata.frameです:

     top100_repository_name   month monthly_increase monthly_begin_at monthly_end_with
1                    Bukkit 2012-03                9              431              440
2                    Bukkit 2012-04               19              438              457
3                    Bukkit 2012-05               19              455              474
4                    Bukkit 2012-06               18              475              493
5                    Bukkit 2012-07               15              492              507
6                    Bukkit 2012-08               50              506              556
...
3
Thomas

かなりダミーの方法...クリップボードからコピー/貼り付けを使用

x <- read.table(file = "clipboard", sep = "t", header=TRUE)
0
Lefty

カールは、少なくとも私のためにWindowsで動作しない可能性があります

これはWindowsで私のために働いたものです

download.file( " https://github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv "、destfile = "/tmp/test.csv",method="wininet")

Linuxの場合

download.file( " https://github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv "、destfile = "/tmp/test.csv",method="curl")

0
akhila vangala